MpesaFlow Platform is a comprehensive solution for managing M-Pesa transactions, providing real-time insights, and streamlining payment processes for businesses in Kenya. This monorepo contains all the necessary applications and packages to run the entire MpesaFlow ecosystem.
This monorepo contains the following packages and applications:
apps/web
: Main customer-facing websiteapps/dashboard
: Admin dashboard for managing transactions and analyticsapps/api
: Backend API servicepackages/ui
: Shared UI componentspackages/database
: Database schemas and utilitiespackages/auth
: Authentication and authorization utilitiespackages/analytics
: Analytics and tracking utilities
- Next.js 13 (App Router)
- React 18
- TypeScript
- Tailwind CSS
- shadcn/ui (UI component library)
- Lucide React (Icons)
- Recharts (Data visualization)
- PostHog (Analytics)
- TypeScript
- Drizzle ORM (Database ORM)
- NeonDB (PostgreSQL database)
- Upstash Redis (Caching and rate limiting)
- Clerk (Authentication)
- Resend (Email service)
- Turborepo (Monorepo management)
- Bun (JavaScript runtime and package manager)
- Biome (Linting and formatting)
- Jest (Testing)
- GitHub Actions (CI/CD)
- Vercel (Deployment)
- Trigger.dev (Background jobs and workflows)
- Stripe (Payment processing)
- Node.js 16.8 or later
- Bun package manager
-
Clone the repository: git clone https://github.com/your-username/mpesaflow-platform.git cd mpesaflow-platform
-
Install dependencies: bun install
-
Set up environment variables: Create a
.env
file in the root directory and add the necessary variables. Refer to.env.example
for required variables. -
Run the development servers: bun run dev
This will start all applications and watch for changes in packages.
@mpesaflow/ui
: Shared UI components using shadcn/ui and Tailwind CSS@mpesaflow/database
: Database utilities integrated with Drizzle ORM@mpesaflow/auth
: Authentication utilities integrated with Clerk@mpesaflow/analytics
: Analytics integration with PostHog@mpesaflow/kv
: Key-value store integration with Upstash Redis@mpesaflow/email
: Email utilities integrated with Resend
API documentation is available at /api/docs
when running the API service locally.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.