A MERN Stack project for expense tracking
Expensify is a MERN Stack project that allows users to track their expenses and generate reports. It has the following features:
π Authentication with JWT: Expensify uses JWT for authentication. This means that users will receive a JWT token after logging in, which they can use to access protected resources.
π Protected Routing (Frontend & Backend): Ensuring security, Expensify implements protected routing both on the frontend and backend. This guarantees that only authenticated users with appropriate permissions can access specific routes, enhancing data security.
π Seamless data fetching using Tan Stack Query: Expensify uses Tan Stack Query to fetch data from the backend. This allows for seamless and efficient data fetching.
π³ Razorpay payment gateway for upgrading to a pro version with premium features like leaderboard and report generation: Expensify uses Razorpay as its payment gateway. This allows users to upgrade to the pro version and access premium features like the leaderboard and report generation.
π Reports visualized using Chart JS 2: Expensify uses Chart JS 2 to visualize reports. This allows for interactive and visually appealing reports.
π Download reports (pro version) as CSV files for monthly or yearly periods, which are also stored in the cloud after generating: Pro users can download their reports as CSV files for monthly or yearly periods. These reports are also stored in cloudinary after generating.
π Pagination of Expenses: Expensify provides the ability to paginate expenses, allowing users to view their data in manageable pages.
π Reset Password Feature: Users can easily reset their passwords through the backend, which utilizes the Nodemailer server for secure password reset processes.
π Leaderboard (pro version): Users can see the total expenses of all users in the application, giving a sense of competition and comparison.
π± Fully responsive UI using Chakra UI: Expensify has a fully responsive UI using Chakra UI. This means that it looks great on all devices, including mobile devices.
π MongoDB database for storing data: Expensify uses MongoDB to store data. This allows for scalable and flexible data storage.
π Download history for tracking previous downloads: Users can check their previous downloads from the download history page. This allows them to easily track their downloaded reports.