Created an app to manage subscription services ( SwiftUI + Combine + Firebase )

Yoki
3 min readOct 19, 2021

--

I wanted to make an app to manage subscription services, so I made one.

Rather than creating a service, I wanted to try out SwiftUI and Combine. This is why it took me longer than I expected, as I kept creating and breaking things.

Since I made it, I’d like to introduce the concept and UI of the app in this article.

You can get the app from the following link (Japan only).
‎「マイサブスク」をApp Storeで

Source code is here.
yyokii/SubscMemo

Concept

In creating an app to manage subscription services, what would it be nice to be able to do?

First of all, I often forget what subscription services I have subscribed to. Also, there must be some attractive subscription services out there that I don’t know about, and it would be great if I can find them easily.

With this in mind, and since some people seem to think the same way, I decided to create something that can satisfy the following requirements.

  • See at a glance what subscription type services you have subscribed to (service name, amount…)
  • Find and subscribe to attractive subscription services

Features

  • See at a glance what subscription type services you have subscribed to

I thought it would be nice to be able to see this in a Widget. Also, a simple UI with minimal information would make it easier to see. (It’s easier to make it that way:))

  • Find and subscribe to attractive subscription services

I decided to add a function to find subscription services.

Development

The main technologies and architectures used were the following.

Front End

[iOS]
CocoaPods
Combine
Swift
Swift Package Manager
SwiftUI
XcodeGen

Back End/Tools, etc.

[Advertisement]
Google Mobile Ads

[Analytics]
Firebase Analytics

[Authentication]
Firebase Auth

[DB]
Firebase Firestore

[Push Notification]
Firebase Messaging

Architectures

The entire system looks as follows.

UI

It was good that we decided on the concept and general functions before starting to create the product, but we only roughly decided on the design. As a result, I had to make and break the design, which took a long time. However, it was also a good way to try out SwiftUI and Combine.

The main UI is as follows

Conclusion

It took some time, but I am glad that we were able to release the application. This time, it was more of a test run of the technology, but there are several points that can be improved when considering it as a service. For example, the following could be considered.

  • Registering service information automatically by extracting payment information from e-mails, etc.
  • Introducing personalized service recommendations.

I hope I can do this someday…

I would be happy to help you with your SwiftUI, Combine, and MVVM applications.

The source is available here.
https://github.com/yyokii/SubscMemo

If you like it, please star it.
Your stars make me happy.

--

--