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.jsonfile. - 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
.envfile in thedbfolder. - Add your NeonDB URL to the
DATABASE_URLvariable in the.envfile.
- Create a
- Migrate the schemas:
npx prisma migrate - Run the project:
yarn run dev
If you encounter any issues, please email: danishexplore019@gmail.com