- Abhishek Uppe (https://github.com/uppeabhishek/)
- Vatsal Yadav (https://github.com/Vatsalyadav/)
- Devarshi Vyas (dv459527@dal.ca)
- Ayush Verma (https://github.com/ayushverma8/)
- Smit Thakkar (https://github.com/whitetiger47/)
- Benny Tharigopala (https://github.com/Tech-Knight-Danny/)
-
Group Expense Tracking
-
Payment Reminder
-
Categorial Expense (Tags)
-
User management
-
Expense Tracker
-
In-App Payment Integration
-
Coupon Management
-
Notifications
-
Analytics
-
Group Expense Tracking
- Create Group
- Edit Group
- View Group
- Delete Group
-
Payment Reminder
- Create Payment Reminder
- Modify Payment Reminder
- Delete Payment Reminder
- View Payment Reminder
-
Categorical Expense (Tags)
- Create Tag
- Edit Tag
- View Tag Details (an individual tag)
- View Tags (per user)
- Delete Tag
-
User Management
- SignIn
- SignUp
- Change Password
- Logout
-
Expense Tracker
- Add Expense
- Edit Expense
- Settle Uppe
- Delete Expense
-
In-App Payment Integration
- Initiate Payment
- Input Payment Method Details
- View Payment Status
- View Payment History
-
Coupon Management
- View Coupons
- Redeem Coupons
- Coupon Redeemed
-
Notifications
- Notification Settings
- Email Notification
- View Notification
-
Analytics
- Analytics
- Expense Analytics
- Spending Trends
- Expense Tracking
To have a local copy of this applicationup and running on your local machine, you will first need to install the following software / libraries / plug-ins
NodeJS: Latest LTS version download from https://nodejs.org/en/.
Git: Latest source release download from https://git-scm.com/downloads.
See the following section for detailed step-by-step instructions on how to install this software / libraries / plug-ins
Run the following commands in both the frontend and backend root folder to install and run the application
npm install
npm start
- Create a AWS account from here.
- Install elastic beanstalk client using from here
- Run the following commands
eb init
eb create
eb deploy
Frontend
- ReactJS - The core web library (framework) used.
- React Router DOM - Routing library for single page application.
- React Bootstrap - User Interface components for React.
- SweetAlert2 - Beautiful Alerts for React.
- React Redux - Used for state management.
- Redux Saga - Middleware for redux.
- React Datepicker - Reusable datepicker component for React.
- Moment - A JavaScript date library for parsing, validating, manipulating, and formatting dates.
Backend
- Node - The core backend library (framework) used.
- Express - Framework for creating single page routes.
- Postgresql - SQL Database for the application.
- Supabase - API Client for PostgreSQL.
- Docker - Creating single container for frontend and backend folder.
- AWS Elastic Beanstalk - Used for deploying both frontend and backend applications using Docker.
- Nodemailer - Node.js module to send emails.
- Node Schedule - A flexible job scheduler for Node.js for scheduling emails.
Frontend
- For frontend the folder structure used is the default react folder structure.
- All the assets are stored in frontend/src/assets.
- All the React Components are stored in frontend/src/components.
- All the css files other then App.css and index.css are stored in frontend/src/css.
- The redux structure containing actions, reducers and sagas in frontend/src/redux.
Backend
- For backend the folder structure used is the default nodejs and expressjs folder structure.
- All the API logic and end points are stored in backend/controllers.
- All the models or database connection are stored in backend/models.
- All the backend routes are stored in backend/routes.