Paisa-Vasooli
Paisa Vasooli is a website built with the MERN stack to help you manage and track your expenses. This project was made during the Codesangam 2023 Event conducted by CC Club MNNIT Allahabad, the topic being "Thoth's Steller Ledger"
Team Members
- Khanak Patwari : Frontend and Backend
- Sahil Gupta : Frontend and Backend
- Shikhar Pandya : Frontend
Features
Basic features
- User Authentication: Authentication through Login Signup page
- Add Transactions: Easily add income or expense transactions, and edit or delete them if need be
- Customizable Categories: Add personalised categories to transactions
- Stats and transaction history: View total income,expense, balance statistics and past transaction history on dashboard
- Dark theme: Feature to switch to dark mode theme
- Recurring Bills: Notifications sent for recurring bills
- Dues Reminder: Reminders sent for due transactions
- Savings Tracker: Create budgets or financial goals and track the progress.
- Add Friends: Sent friend requests to people and easily add them in any groups from the friends' list
- Make Groups: Create groups for splitting bills and simplifying debts among friends.
- Split Expenses: Split bills equally between friends in groups
- Debt Simplification: Simplify debts between friends in groups with minimum cash flow
- Approval from receiver: Approval asked from receiver before settling up bill split or debts in groups
- Data Analysis and Visualisation: Various Charts and graphs to visualise spending and earning on a weekly,monthly,category-wise basis
Advanced features
- OAuth: User can login with google account
- Multiple currencies support: Transactions can be added in multiple currencies with real-time exchange rates conversion
- Track stocks or crypto: User can add which stocks/crypto he wants to track, and compare multiple stocks in real time
- Export Transactions: Download transaction data in CSV format for record-keeping.
- Vault: Vault to upload and store expense receipts
Unique Features
- Filter and Search: Filter transactions based on categories, date ranges, or both, and search for specific transactions
- Responsive Design: Ensures a seamless experience on laptops, desktops and tablets
- Inbox: Receive friend request invitations and acceptance messages
- Email reminders: Reminders for dues and bills are sent on user's mail
- Group codes: Apart from friends,users can share group code with other people not added as friends to join the group
- Comments: Add comments to a group
- Profile page with custom picture: Users can choose and upload profile pictures as per their choice
- Stock Heatmap: Check out current trends in trendy stocks though a heatmap
- Rewards: In-App achievement badges for achieving certain financial targets
Images
Few Images from the site
Tech Stack
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB,Firebase
External Libraries/APIs
- Google Login: Google OAuth
- Styling: Bootstrap, Tailwind CSS
- Data Visualization: Chart.js
- Sending mails: Nodemailer
- API for currency conversion: JSDelivr
- Debt simplification: splitwise-js-map
- To Export: react-csv
Installation
-
Clone the repository:
git clone https://github.com/Khanak21/Paisa-Vasooli.git
-
Install dependencies for both frontend and backend:
cd frontend
npm install
cd backend
npm install
-
Configure MongoDB connection: Update the MongoDB connection string in
backend/db/db.js
-
Run the application:
//Run frontend (in the frontend directory)
npm start
//Run backend (in the backend directory)
npm run serve
- Access the application at
http://localhost:3000/
Future Additions
- Payment Gateways: Connection to payement apps to enable seamless on-site transactions in groups
- Integration with payment apps: Getting transaction data from UPI apps and displaying it on website
- Authentication: Enhancing user security,privacy and authentication
- Stock prediction: Integrating ML to display stock predictions of user-selected stocks
- Contacts as friends: Automatically adding all contacts related to a gmail account in friends' list
- Drag and Drop: Drag and Drop feature for file upload in vault
- Pro Version: Adding a paid version with specific features unlocked, and locked otherwise
Deployed Link
Access the deployed site here: https://paisavasooli.netlify.app/