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.