PayPro is a financial management web application specifically designed to manage and track shared expenses, a task that can often be tedious and complex when handled manually. In many social contexts—whether among roommates, friends, or within families—financial transactions involving shared costs can lead to misunderstandings or imbalances that may strain relationships. PayPro simplifies this process by providing a clear, intuitive platform for recording, monitoring, and settling shared expenses in an equitable manner.
- User Authentication: Secure login and registration system to ensure that financial data is accessible only to authorized users.
- Expense Logging: Add and track every shared expense with details about who paid and who owes, ensuring everyone is on the same page.
- Automated Calculations: The system automatically calculates how much each member owes or is owed, facilitating easy and fair settlements.
- Notifications: Automatic reminders for outstanding payments, ensuring that all debts are settled on time.
- Group Dashboards: Users can create and manage multiple groups, each with its own unique dashboard for monitoring shared financial activities.
- Frontend: React.js for a dynamic and responsive user interface.
- Backend: Node.js and Express.js to handle API requests and server-side logic.
- Database: MongoDB for storing user data and transaction records efficiently.
- Authentication: Use bcrypt for secure password hashing. JWT (JSON Web Tokens) setup is in progress for scalable user authentication, but it is not functional yet.
- Styling: Utilize CSS and modern UI frameworks like Material-UI for a clean and user-friendly design.
Installation
-
Clone the repository:
git clone https://github.com/Ploynpk/paypro.git
-
Navigate into the project directory:
cd paypro
-
Install the necessary dependencies:
npm install
Running the Project
-
Start the development server:
npm start
Running the Server Terminal To run the server terminal:
-
Navigate to the server directory:
cd server
-
Start the server using nodemon:
nodemon server.js
To build the project and serve the static files:
-
Build the project:
npm run build
This will generate the
dist
directory and thebundle.js
file.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements.