PayTool is a modern group payment management tool that helps users easily manage group bills and payments.
- Next.js 14
- TypeScript
- Tailwind CSS
- GraphQL Client
- UI Components:
- shadcn/ui (based on Radix UI)
- Lucide Icons
- Tailwind CSS
- Spring Boot
- GraphQL
- MySQL
- Maven
- Node.js 18.0.0 or higher
- Java 17 or higher
- MySQL 8.0 or higher
- Maven 3.6 or higher
git clone [repository-url]
cd final-project-paytool-
Configure Database
- Create MySQL database
- Update database configuration in
backend/src/main/resources/application.properties:spring.datasource.url=jdbc:mysql://localhost:3306/paytool spring.datasource.username=your_username spring.datasource.password=your_password
-
Start Backend Service
cd backend sdk env mvn clean install mvn spring-boot:runBackend service will run at http://localhost:8080
-
Install Dependencies
cd frontend npm install -
Copy environment variables example file
cp .env.example .env.local
-
Start Development Server
npm run dev
Frontend service will run at http://localhost:3000
- Visit http://localhost:3000 to open the application
- Register an account for first-time users
- After logging in, you can:
- Create new payment groups
- Join groups via QR code
- Manage group bills
- Track payment status
- Frontend code is located in
frontend/srcdirectory - Backend code is located in
backend/src/main/javadirectory - GraphQL schema is located in
backend/src/main/resources/schema.graphqls
-
If you encounter database connection issues, check:
- MySQL service is running
- Database configuration is correct
- Database user has sufficient permissions
-
If frontend cannot connect to backend, check:
- Backend service is running
- Frontend environment variables are configured correctly
- CORS configuration is correct
- Fork the project
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT License