Subtrack is a powerful manager that keeps track of all your subscriptions, accounts, projects, and more, built with Next.js, TypeScript, Tailwind, and MongoDB, and hosted on Vercel.
Subtrack is a powerful manager that keeps track of all your subscriptions, accounts, projects, and more, built with Next.js, TypeScript, Tailwind, and MongoDB, and hosted on Vercel.
Added account analytics to the dashboard with numbers like total acounts, unique passwords, unique usernames, average password length, password uniqueness, and username uniqueness to help you keep track and manage your accounts better straight from the homepage. Also added four quick action options at the top of the dashbaord for adding a new subscription/account/project and logging out with customized icons. Also updated the layout with some placeholder text and fixed some display bugs as well. Now the dashboard is honestly beautiful I mean just look at the image.
Log in to leave a comment
Finally started working on the dashboard where insights, analytics, suggestions, and more about your subscriptions/accounts/projects on Subtrack will be. Added the subscription stats section from the subscription page with an interactive custom insight that compares how many of a certain item you could’ve bought from the money you spent on monthly and annual subscriptions. You can click on the item to change to the next one to put the amount into perspective and hopefully make you cancel some of your extra subscriptions. Also spent some time adding a useful analytics pie chart from Chart.js that displays the proportion of each category of subscriptions you’re paying for, sorted by the number of subscriptions per category with different colors.
Log in to leave a comment
Pretty much finished the accounts page! Fixed the Vercel deployment issue (I forgot to add the secret encryption key to the environment) and also fixed the security loophole by requiring account get requests to provide a time stamp that must sync with the database time stamp (I’m still too lazy and noob to add a proper JWT auth token for this) so now the backend with encrypted passwords is more secure. Optimized accounts search, added accounts page and password insights, and fixed display issues as well.
Log in to leave a comment
Major update!!! Finally completed the major features for the subscriptions tab by adding most of the popular subscription bundles, pricing plans, and more options. This meant I could finally move on to working on the accounts tab! Because the logic is mostly the same I just copied most of the code from the subscriptions tab over and changed/deleted some things to get the accounts tab working quickly. Added a lot of services and their assets for more accounts, as well as the custom service option so you can create your own account provider service. The accounts page supports both cloud database storage syncing and guest mode local storage, and the page displays the total number of your accounts, add account modal with detailed customization options, account search, edit, and deletion. Because Subtrack is storing very sensitive data like your passwords I had to spend a lot of time researching secure encryption/decription/cryptographic stuff to finally get everything securely encrypted and working (except there’s a major loophole where an attacker can just visit the API endpoint with a MongoDB user id and get all their decyrpted data that I’ll hopefully fix in the future by finally implementing proper JWT that I’ve been too lazy to add). Idk why but I always make dev logs near midnight and this one is way too long so yeah major update ok time to go to sleep now.
Edit: looks like Vercel prod deployment failed holy bro so much to fix tomorrow
Log in to leave a comment
The subscriptions tab for Subtrack is almost complete! In this update, I added different categories for the services so it’s easier to browse and filter specific categories while adding a new subscription or when viewing and filtering all your subscriptions with category tags. This makes it a lot easier to manage your subscriptions by category and sort them effectively. Also added a renewal date option so you can select when the subscription is going to renew as a reminder. The app automatically calculates the next renewal date based on subscription duration and current time with helpful renewal notifications that will hopefully get implemented in the future! Updated the data structure, cleaned up redundant code, refactored some inefficiencies, fixed some more bugs, and updated styling as well.
Log in to leave a comment
Added a custom service option that appears in the add subscription modal for when you’re adding a subscription from a service that doesn’t have a preset on Subtrack. You can name the custom service subscription whatever you want and completely fully customize it and edit it. This required a bit of refactoring and cleaning up of the add subscription modal so I did it and fixed some bugs related to custom plans and pricing as well. Also updated styling so more services can fit in one page. Added an account username label on the profile popup as well.
Log in to leave a comment
Added a lot of services (30+), subscriptions, and memberships from websites and retailers to make subscription options more complete. Also fixed some bugs related to the add subscription modal and updated styling.
Log in to leave a comment
I finally finished most major features for the subscription tab of Subtrack!!!
You can use the app by either creating an account with user/password, using Google OAuth, or enabling guest mode that stores your data in local storage. You can customize your profile and different account settings. You can add subscriptions from default service templates or completely customize everything about the subscription to effectively keep track of them! There are a lot of features like searching, sorting, editing, deleting, clearing, and adding subscriptions with different UI components like modals and buttons that make the app easy to use. This is my first real app built with Next.js, TypeScript, and other modern languages so I learned a lot of best practices and architectural patterns for these technologies. Can’t wait to implement more features to Subtrack with future ships!
I added a statistics section at the top of the subscriptions page that tells you how much you’re spending across your services per month and per year, with the total number of subscriptions. Also, I finally spent time to actually learn Markdown, and with the help of GitHub README examples, I wrote the README file with a lot of sections and information about the app, how to set it up locally, and contribution guidelines. It genuinely looks pretty professional. Also fixed some bugs and improved backend performance.
Log in to leave a comment
Merry Christmas guys! In this update, I added backend API endpoints for storing your subscription data to the database everytime you add, edit, or delete a subscription so your data is synced and backed up everywhere. I also added an option to change your account display name and improved some backend logic.
Log in to leave a comment
I finally added a proper account system with working (although not very secure) auth and backend API endpoints for logins and signups with both username/password and Google OAuth working. Now, you can use the signin and signup popup modals on the landing page to create an account and access the app. Made a MongoDB cluster that currently only stores user data but will hopefully store actual subscription and app data. Also added the first 10 services for subscriptions with all their plans and correct pricing. Added some quality of life features like a confirm popup warning, logout button, and an option to clear subscriptions. I refactored and cleaned up some code as well.
Log in to leave a comment
Reorganized files and folders in my project because it was kind of all over the place (my first time using Next on a big project), added a placeholder logo so things don’t look so boring, added metadata and title for each page, updated sidebar with placeholder tabs, and updated styling (hopefully major redesign will come soon because it looks kinda buns right now)
Added guest mode that stores data in local storage so you can actually use the app instead of being stuck on the landing page, logged in state stored in session storage, profile customization for username and password, subscription sorting with different options, subscription editing with a custom modal, license markdown, and code of conduct markdown for GitHub, updated styling and types, and optimized code so it’s kind of slightly performant.
Refactored code so TypeScript is happy, data is stored properly, and everything works smoothly. Also made a new UI that lists the details of each description with a new option menu to edit and delete the subscription. The site currently only supports frontend localStorage data storage but other than that everything is coming together. Also fixed some bugs and updated styling for the multipage modal for adding a new subscription.
Log in to leave a comment
A modal now pops up when you click on add subscription that displays available subscriptions that you can select. You can also move between different pages of the modal and customize the subscription (the modal doesn’t do anyhting yet). Also updated icons, added new subscription services, added a user nav dropdown (that doesn’t work), and updated styling.
Log in to leave a comment
My first actual project on Flavortown! I set up basic deployment and Next.js dependencies for the project and added basic frontend UI with icons, cards, navigation, and text for the subscriptions tab.
Log in to leave a comment