Inspiration

I was going through my bank transactions and i had to calculate my expenses and stuff for some reason. I don't want to do that manually so, i got the idea to build a transaction tracking app which eventually become a Budget Tracker with some great features

What it does

Finora lets user to manage their expenses, transactions with setting budget Below are the features:

  • Add Transaction: User can add transaction as income or expense
  • *Set Budget *: User can set budgets. App will notify if any category expenses passes it's budget
  • Filterating: User can filter transactions by selecting month and year
  • Metrics: User can view multiple metrics such as total expenses, income, current balance and mini budget notification on the dashboard
  • Google: User can simply sign in using Google account

How we built it

1) I took some design inspiration from pinterest and dribbble for the UI 2) Then i wrote down all the features that can be build 3) Created a basic architecture of the app on paper 4) Then i started the development

Challenges we ran into

Challenge 1: Authjs needs to be configured in a specific way to run inside middleware of Nextjs application that took me a long time to solve Challenge 2: MongoDb aggregation pipeline was litttle bit complicated for this project and that was a major challenge

Accomplishments that we're proud of

I have built a pretty good LIVE Budget Tracking App with numerous features to enhance user experience from signing in to using the app, i am really proud of it

What we learned

Authjs: Authjs library for modern nextjs app's Mongo Db Aggregation Pipelines: Now, i have a good experience with aggregation pipelines Route Structuring: A intermediate way to handle routes and state of the component without using state management

What's next for Finora

I have more features to be build such as Goals, Expense categories etc with more tech side changes such as implementing redis or in memory cache to make it faster and more implementation like this

Built With

Share this project:

Updates