This project is a simple web application that enables users to create and manage their accounts, perform transactions, and view transaction history. It's built using React with Next.js on the frontend and Node.js with Express on the backend.
-
Frontend:
- Next.js (React framework)
- Firebase Authentication for user authentication
- Deployed on Vercel
-
Backend:
- Node.js with Express
- PostgreSQL with Prisma ORM for database management
- Deployed on Render
-
Database:
- PostgreSQL
- Prisma ORM for simplified database access
-
Authentication:
- Firebase Authentication for user authentication
-
Deployment:
- Backend deployed on Render
- Frontend deployed on Vercel
-
CI/CD:
- Github Actions used for Continuous Integration and Continuous Deployment
- Husky Git hooks for enforcing code quality and running tests
-
Account Management:
- Users can create and manage their accounts securely using Firebase Authentication.
- User account information is stored in a PostgreSQL database managed using Prisma ORM.
-
Transactions:
- Users can send and receive payments securely within the application.
- Transaction history is stored and accessible for users to view.
-
Backend:
- The backend server is deployed on Render for scalability and reliability.
-
Frontend:
- The frontend application is deployed on Vercel for fast and efficient hosting.
-
Continuous Integration:
- Github Actions is configured for continuous integration to automate the testing process and ensure code quality. Husky Git hooks enforce code quality and run tests before commits are made.
-
Continuous Deployment:
- Github Actions is also used for continuous deployment, automatically deploying new changes to both the backend and frontend environments on Render and Vercel, respectively.
Live Web Application (https://chimoney-app-pink.vercel.app)
To run this project locally or contribute to its development, follow these steps:
- Clone the repository to your local machine.
- Navigate to the
client
directory and follow the instructions in theREADME.md
file to set up and run the frontend. - Navigate to the
server
directory and follow the instructions in theREADME.md
file to set up and run the backend.