cashmoney

CASH MONEY - Fintech Multi-Portal Platform

CI/CD Pipeline codecov License: MIT

A comprehensive fintech multi-portal platform with role-based access control and integrated financial services.

๐Ÿš€ Features

๐Ÿ›  Technology Stack

Frontend

Backend

DevOps

๐Ÿ“‹ Prerequisites

๐Ÿš€ Quick Start

1. Clone Repository

git clone https://github.com/YOUR_USERNAME/cashmoney-fintech.git
cd cashmoney-fintech

2. Environment Setup

Copy the example environment files and update them with your secrets and configuration:

cp .env.example .env
touch .env.development .env.production
cp .env.development.example .env.development
cp .env.production.example .env.production

Edit .env, .env.development, and .env.production with your actual credentials and API keys.

3. Install Dependencies

Install all dependencies for the monorepo:

npm install

To install dependencies for individual workspaces:

npm install -w apps/web
npm install -w apps/api

4. Database Setup

Make sure PostgreSQL is running and accessible. You can use Docker Compose to start the database service:

docker-compose up db

If you have an init.sql file in ./database/, it will be executed automatically to initialize your database.

Update your .env files with the correct DATABASE_URL for your environment.

5. Start Development

You can start all services using Docker Compose:

docker-compose up

Or, to run the frontend and backend locally without Docker:

npm run dev

This will start both the API and web servers in development mode.

Access the application:

๐Ÿงช Testing

Run all tests for both frontend and backend:

npm test

To run tests for a specific workspace:

npm run test -w apps/web
npm run test -w apps/api

For end-to-end tests (Playwright):

npm run test:e2e

๐Ÿš€ Deployment

Production Build

Build the frontend and backend for production:

npm run build

Or build individually:

npm run build -w apps/web
npm run build -w apps/api

Docker Compose (Production)

Start all services in production mode:

docker-compose -f docker-compose.yml up -d

Make sure your .env.production file is configured with production secrets and URLs.

Docker Deployment

Build and push Docker images for frontend and backend:

# Build and push frontend image
DOCKER_BUILDKIT=1 docker build -t your-dockerhub-username/cashmoney-frontend:latest ./apps/web

docker push your-dockerhub-username/cashmoney-frontend:latest

# Build and push backend image
DOCKER_BUILDKIT=1 docker build -t your-dockerhub-username/cashmoney-backend:latest ./apps/api

docker push your-dockerhub-username/cashmoney-backend:latest

Update your deployment configuration to use these images in your cloud provider or orchestration platform.

๐Ÿ“– API Documentation

API documentation is available at /api/docs when running the development server.

Import the Postman collection from docs/postman/ for testing.

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

For support, please open an issue or contact your-email@domain.com.