This repository demonstrates a monorepo architecture with a new tech stack. As a monorepo, our root directory contains the following:
- apps folder: Contains our applications.
- packages folder: Contains shareable UI components.
The UI components in the packages
folder can be utilized across different applications. For more details on export and import in monorepos, please refer to the official documentation here.
We have two applications in our apps
folder:
- bank-webhook (Next.js project): This webhook application is used to initiate transactions on the bank server and store the acknowledgment for each transaction.
- user-app (Next.js project): Manages the entire user interface and functionality, including the dashboard, transactions, transfers, and P2P transfers.
The packages
folder handles UI components and database configurations:
- UI: Contains static UI components that can be shared between different applications. All UI components need to be exported from the
package.json
file. - DB: Utilizes Prisma for schema management and NeonDB for data storage. It includes all necessary schemas and SQL configurations.
To set up the project, follow these steps:
- Pull the Docker image:
docker pull danish19092001/venmo-clone:latest
- Configure the database:
- Create a
.env
file in thedb
folder. - Add your NeonDB URL to the
DATABASE_URL
variable in the.env
file.
- Create a
- Migrate the schemas:
npx prisma migrate
- Run the project:
yarn run dev
If you encounter any issues, please email: [email protected]