FlowPay is a full-stack payment and wallet management platform that allows users to manage multi-currency wallets, make cross-currency payments, track transactions, and receive real-time updates via webhooks and WebSockets.
The system supports:
- Authentication with refresh tokens
- Multi-currency wallets
- Payments with fees and FX conversion
- Transaction history
- Idempotent payment handling
- Real-time transaction updates
- Rate limiting and request throttling
- Feature flags
- Dockerized and local development setups
Backend
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT-based auth with refresh tokens
- Stripe (Payments)
- WebSockets(Socket.io)
- Docker
Frontend
- Vue 3 (Composition API)
- Pinia Store
- Tailwind CSS
- Axios
- Vue Router
git clone https://github.com/isonguyom/flowpay.git
cd flowpayCreate a .env file in the backend and frontend directories using the sample .env.example in both directories.
cd backend
npm install
npm run devBackend will run on:
http://localhost:8000
cd frontend
npm install
npm run devFrontend will run on:
http://localhost:5173
Make sure you have Docker and Docker Compose installed.
From the project root:
docker-compose up --build- Backend:
http://localhost:8000 - Frontend:
http://localhost:5173 - MongoDB runs internally in Docker
To stop containers:
docker-compose down