https://github.com/royaals/payzen-wallet
PayZen is a comprehensive financial application that allows users to add money to wallet and perform peer-to-peer transactions.
https://github.com/royaals/payzen-wallet
ci-cd jest kubernetes monorepo newrelic next-auth nextjs14 postgresql prisma testing turborepo tyepscript
Last synced: 16 days ago
JSON representation
PayZen is a comprehensive financial application that allows users to add money to wallet and perform peer-to-peer transactions.
- Host: GitHub
- URL: https://github.com/royaals/payzen-wallet
- Owner: royaals
- License: mit
- Created: 2024-04-27T06:18:11.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T14:24:39.000Z (over 1 year ago)
- Last Synced: 2025-06-03T23:34:48.277Z (8 months ago)
- Topics: ci-cd, jest, kubernetes, monorepo, newrelic, next-auth, nextjs14, postgresql, prisma, testing, turborepo, tyepscript
- Language: TypeScript
- Homepage: http://payzen.devprojects.world
- Size: 1.91 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# PayZen
PayZen is a comprehensive financial application that allows users to add money to wallet and perform peer-to-peer transactions.
## Features
- **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.
## Technologies Used
- Next.js
- TypeScript
- Prisma
- NextAuth
- Turborepo
- PostgreSQL
- Node.js
- Express.js
- Nginx (Reverse Proxy)
- Docker
- jest
- Docker
- Kubernetes
- AWS
- New Relic
## Development Setup
1. Clone the repository:
```bash
git clone https://github.com/royaals/Payzen-wallet.git
```
2. Install the dependencies:
```bash
npm install
```
3. Navigate to the DB directory:
```bash
cd packages/db
```
- Rename `.env.example` to `.env` in the `packages/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.
4. Run Prisma migrations in the `packages/db`. This command will apply the database schema changes:
```bash
npx prisma migrate dev --name init
```
5. Generate the Prisma client in the `packages/db`. This command will generate the Prisma client code:
```bash
npx prisma generate
```
6. Start the development server:
```bash
npm run dev
```
### Using Docker for Local Development
1. Clone the repository:
```bash
git clone https://github.com/royaals/Payzen-wallet.git
```
2. Install the dependencies:
```bash
npm install
```
3. Copy the frontend Dockerfile:
```bash
cp ./docker/Dockerfile.frontend ./Dockerfile
```
4. Build the Docker image:
```bash
docker build -t payzen .
```
5. Run the Docker container:
```bash
docker run -p 3000:3000 -e DATABASE_URL=your_database_url payzen
```