Welcome to SplitCrew, an app designed to simplify and streamline the process of splitting expenses among friends, family, or colleagues.
Core Features
- User Authentication and Registration:
- Secure user registration and authentication processes.
- Email verification and password reset.
- Expense Management:
- Allow users to add shared expenses.
- Provide a list of all expenses.
- Expense Summary and Participant Breakdown:
- Generate a dashboard with a summary of all expenses.
- Provide a detailed breakdown of expenses by participant.
- Settlement:
- Enable users to settle expenses, indicating the payment method used.
- Automatically calculate the net balance for each participant.
- Currency Support:
- Allow users to select the currency for each expense entry.
- Notification and Reminders:
- Send push notifications for new expenses and pending settlements.
- Send reminders for overdue settlements.
- User Feedback:
- Collect user feedback through the app.
Additional Features (Post-MVP)
- Group Expenses:
- Create and manage expenses for specific groups of participants.
- Expense Comments:
- Leave comments on specific expenses for communication.
- Advanced Reporting:
- Generate reports with detailed expense analytics.
- Integration with Payment Platforms:
- Integrate with popular payment platforms (e.g., PayPal, Venmo).
- Split Equally Option:
- Choose an option to split an expense equally among selected participants.
- Receipt Scanning:
- Scan and attach receipts to expense entries.
Postman
Explore the API endpoints and test requests using the Postman documentation by accessing the docs here
Endpoints
POST /api/v1/auth/register
: Register a new user account.
POST /api/v1/auth/login
: Authenticate user login.
POST /api/v1/expenses
: Create a new expense entry.
GET /api/v1/expenses
: Retrieve all expenses.
GET /api/v1/expenses/expense-summary
: Retrieve expense summaries and participant breakdown.
POST /api/v1/expenses/settle-expense
: Mark an expense as settled.
GET /api/v1/currencies
: Retrieve supported currencies.
... and more.
For detailed API documentation, visit Postman API Documentation.
Before you begin, ensure you have the following installed:
- Node.js
- npm
- PostgreSQL
-
Clone the repository:
git clone https://github.com/sudodeo/splitcrew-API.git
-
Install dependencies:
cd splitcrew-API npm install
-
Create
.env
file and set environment variables using.env.example
as a template -
Set up the PostgreSQL database and update the configuration in config/database.js.
-
Start the server:
npm start
This project is licensed under the terms of the MIT license.