A modern web application for digital wallet management and seamless money transfers using banking APIs.
Instant Pay allows users to add money to their digital wallet and make instant payments to other users. Built on a robust tech stack with a focus on security and user experience, this application provides real-time transaction capabilities in a responsive interface.
- 💰 Digital Wallet Management: Add funds to your wallet using secure banking APIs
- 👥 Peer-to-Peer Transfers: Send money instantly to other users
- ⚡ Real-time Transaction Updates: Track your payments and transfers as they happen
- 🔒 Secure Authentication: User authentication and authorization built-in
- 📱 Responsive Design: Modern UI built with Tailwind CSS
- 🖥️ Frontend & Backend: Next.js
- 🚀 API Servers: Express.js
- 🗄️ Database: PostgreSQL
- 🔌 ORM: Prisma
- 🎨 Styling: Tailwind CSS
- 📦 Monorepo Management: Turborepo
- 🐳 Containerization: Docker
- ⌨️ Language: TypeScript
- Node.js (v14 or later)
- npm or yarn
- Docker (for PostgreSQL)
- Git
- Clone the repository
git clone https://github.com/100xdevs-cohort-2/week-17-final-code- Install dependencies
npm install- Set up PostgreSQL
Either run locally with Docker:
docker run -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgresOr use a cloud provider like neon.tech
- Configure environment variables
- Copy all
.env.examplefiles to.envin their respective directories - Update all
.envfiles with your database URL and other required variables
- Set up the database
cd packages/db
npx prisma migrate dev
npx prisma db seed- Start the development server
cd apps/user-app
npm run dev- Log in to the application
Use the following demo credentials:
- Phone: 1111111111
- Password: alice
Note: These are seed data credentials. See seed.ts for more demo accounts.
This project is organized as a monorepo using Turborepo:
apps/user-app: Main Next.js applicationpackages/db: Prisma schema and database utilities- Additional auxiliary services in their respective directories
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.