CoPay is a collaborative expense management application designed to simplify the division of costs within groups, such as dinners, trips, or gifts. It allows users to manage shared payments, create collaborative wish lists, and compare prices to find the best deals on products. The backend repository handles all server-side logic, user management, and data processing for these features.
The project is carried out by three team members: Pau Carrera Nonales, Dylan Navarro Vinyarta, and Cristian Oraña Gamo. Over the past two years, we have acquired significant knowledge through our vocational studies, complemented by personal projects that have enhanced our technical and collaborative skills.
- User Management: Users can create accounts, log in, and manage their profiles. The system also allows users to update their information and manage their phone numbers and passwords.
- Expense Division: Simplifies the process of splitting expenses between group members, ensuring transparency about who has paid what and who owes whom.
- Group Management: Users can create expense groups, add members, and track the expenses for each group.
- Shared Gifts: Facilitates the organization of collaborative gifts, enabling group members to pool their contributions and keep everything organized.
- Price Comparison: Provides a tool to compare prices of items in wish lists, helping users to find the best deals from both physical and online stores.
- Java with Spring Boot for backend development.
- MySQL for database management.
- Aiven for cloud database hosting.
- Clone the repository:
git clone https://github.com/poksyy/copay-app-backend.git
- Install dependencies:
cd copay-backend npm install
- Set up the database using the provided schema in the database/ folder.
- Configure the .env file for environment variables, including database credentials.
- Start the server:
npm start
We welcome contributions! If you'd like to improve or add features to the project, feel free to fork the repository and create a pull request.
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request describing your changes.
All contributions are appreciated!
This project is licensed under the MIT License - see the LICENSE file for details.