PayZen is a comprehensive financial application that allows users to add money to wallet and perform peer-to-peer transactions.
- Peer-to-Peer Transactions: The application supports direct transactions between users, making it easy to send and receive money.
- Transaction History: Users can view their transaction history, providing a clear record of all their financial activities.
- User Authentication: The application supports user sign-up/sign-in via email or social media accounts.
- Profile Management: This includes user onboarding and the ability for users to update their profiles.
- Next.js
- TypeScript
- Prisma
- NextAuth
- Turborepo
- PostgreSQL
- Node.js
- Express.js
- Nginx (Reverse Proxy)
- Docker
- jest
- Docker
- Kubernetes
- AWS
- New Relic
-
Clone the repository:
git clone https://github.com/royaals/Payzen-wallet.git
-
Install the dependencies:
npm install
-
Navigate to the DB directory:
cd packages/db
-
Rename
.env.example
to.env
in thepackages/db
and update the following values: -
DATABASE_URL
: This should be your PostgreSQL database URL. For example, if you're using Docker, it would look something like this:postgresql://postgres:yourpassword@localhost:5432/postgres
. If you're using a PostgreSQL provider like Neon.tech, Supabase, Aiven, etc., use the URL they provide.
-
-
Run Prisma migrations in the
packages/db
. This command will apply the database schema changes:npx prisma migrate dev --name init
-
Generate the Prisma client in the
packages/db
. This command will generate the Prisma client code:npx prisma generate
-
Start the development server:
npm run dev
-
Clone the repository:
git clone https://github.com/royaals/Payzen-wallet.git
-
Install the dependencies:
npm install
-
Copy the frontend Dockerfile:
cp ./docker/Dockerfile.frontend ./Dockerfile
-
Build the Docker image:
docker build -t payzen .
-
Run the Docker container:
docker run -p 3000:3000 -e DATABASE_URL=your_database_url payzen