FinTrack helps users manage their income, expenses, and transactions with budgeting, analytics, and financial insights.
With the help of the Transaction Manager, users can easily track their expenses in different categories like rent, groceries, entertainment, and lifestyle.
Users can maintain a proper record of their expenses with dates and descriptions, which are stored and can be accessed anytime.
They can also track their monthly income, savings rate, and total balance directly from the dashboard.
This feature allows users to get an overall view of their expenditure, making it easier to plan their monthly budget.
Provides graphical insights into income and expenses, helping users understand spending trends through interactive charts.
The pie chart is completely linked with the transactions provided by the user.
This feature allows users to export their transaction records as a CSV file, which can be useful for tax filing.
Instead of manually entering data, users can also import transactions from a CSV file.
Users can search, filter, and sort transactions by date, category, or amount for better financial organization.
Sorting options available:
- Date (Oldest first)
- Date (Newest first)
- Amount (Low to High)
- Amount (High to Low)
The dashboard provides an overview of:
- Total balance
- Monthly income and expenses
- Savings rate
It also includes a graphical expense breakdown using a pie chart and displays upcoming bill reminders to help users manage payments efficiently.
All the values are real-time (as provided by user).
- Secure authentication using JWT.
- Complete Secure Signup , Signin system with forgot password -- reset password feature with email.
- Financial data is stored securely in MongoDB.
- Password hashing and encryption for sensitive information like account numbers.
- Automatic logout in case of unauthorized access for additional security (implemented in
allow.js
andauth.js
). - Google Sign-in is also implemented.
Users can set up bill reminders and receive an email 6 hours before the deadline.
The cron job searches for bills with deadlines 6 hours ahead from the current time , if it detects some bills it stores them and then sends reminders to each user using node-mailer.
Upcoming bills are displayed on the dashboard, ensuring users never miss a payment.
Users can set savings goals by providing:
- Goal category
- Target date
- Initial deposit
- Target amount
- Description
The Front-end fetches the monthly-income , the recent transactions and other things related to the user which leads to better personalised guidance from the prompt generated for the user.
A generated prompt based on these inputs can be copied into the AI assistant for financial guidance.
Users can split bills with friends by entering their email addresses, setting a deadline, and sending reminders.
The cron job searches for bills with deadlines 6 hours ahead from the current time , if it detects some bills it stores them and then sends reminders to each user using node-mailer.
A reminder email is also sent 6 hours before the deadline.
An AI assistant is available to help users navigate the website and understand its features.
The AI assistant on the Goal Setting page provides personalized financial guidance, budgeting tips, and investment insights.
-
Front-end Deployment
-
Folder -- docs.
-
Back-end Deployment
-
Folder -- Backend
The pages may take time to load initially due to free-tier hosting. Render's free instances spin down with inactivity, causing delays of 50 seconds or more.
https://my-backend-api-erp6.onrender.com
- Expensense Tracking
- Graphs and Visualization
- CSV Import/Export
- search, filter, and sort transactions
- Dashboard
- Notifications & Bill Reminders
- HTML
- CSS
- JavaScript
- Node.js, Express.js (for the server)
- MongoDB (for database)
POST /api/users
: Registers a new userPOST /api/signin
: Authenticates and logs in a userPOST /api/logout
: Logs out a user by clearing the access token cookieGET /api/users/:email
: Retrieves a user's profile by emailPUT /api/update/:email
: Updates a user's profile information
POST /api/forgot-password
: Initiates the password reset processPOST /api/reset-password
: Resets a user's password
POST /api/bills
: Creates a new billPOST /api/schedule-reminder
: Schedules a reminder for a billGET /api/get-upcoming-bills
: Retrieves upcoming bills for a user
GET /auth/google
: Initiates Google OAuth authenticationGET /auth/google/callback
: Handles the Google OAuth callbackPOST /api/google-signin
: Authenticates a user using Google sign-inPOST /api/jwt-auth
: Authenticates a user using a JWT tokenGET /api/auth/check/:email
: Checks if a user is authorized
POST /api/transactions
: Creates a new transactionGET /api/get-transactions
: Retrieves all transactions for a userDELETE /api/transactions/:id
: Deletes a specific transaction