SwiftPay is a full-stack digital wallet and payment platform built using a high-performance monorepo architecture. It enables seamless peer-to-peer (P2P) transfers, simulated bank webhook integrations, and real-time transaction tracking users.
- Framework: Next.js (App Router, React 19)
- Monorepo: Turborepo
- Styling: Tailwind CSS
- Database & ORM: PostgreSQL + Prisma ORM
- Authentication: NextAuth.js
- State Management: Recoil
- Backend Services: Node.js + Express (Bank Webhook Service)
swiftPay/
├── apps/
│ ├── user-app/ # Next.js frontend for end users
│ ├── merchant-app/ # Next.js frontend for merchants
│ └── bank-webhook/ # Express server for simulated bank transactions
│
├── packages/
│ ├── db/ # Prisma schema, migrations, DB client
│ ├── ui/ # Shared UI components (Tailwind-based)
│ ├── store/ # Shared state management (Recoil)
│ ├── typescript-config/# Shared TypeScript configs
│ └── eslint-config/ # Shared ESLint rules
│
├── turbo.json # Turborepo pipeline configuration
└── package.json # Root workspace configMake sure you have the following installed:
- Node.js (v18+ or v20+)
- npm (v10+)
- PostgreSQL database (local or hosted like Neon, Supabase, Railway)
Clone the repository:
git clone https://github.com/YOUR_USERNAME/swiftPay.git
cd swiftPayInstall dependencies:
npm installCreate .env files in:
packages/db/apps/user-app/
Add the following variables:
DATABASE_URL="postgresql://user:password@localhost:5432/swiftpay?sslmode=require"
NEXTAUTH_SECRET="your_nextauth_secret_key"
NEXTAUTH_URL="http://localhost:3000"Generate Prisma client:
npx prisma generate --schema=packages/db/prisma/schema.prismaSync database schema:
npx prisma db push --schema=packages/db/prisma/schema.prismaStart all services using Turborepo:
npm run dev- User App: http://localhost:3000
- Bank Webhook Server: http://localhost:3003
- 💸 Peer-to-Peer (P2P) money transfers
- 🔁 Simulated bank webhook system
- ⚡ Real-time transaction tracking
- 🔐 Secure authentication using NextAuth
- 🧠 Shared state management across apps
- 🏗️ Scalable monorepo architecture