A comprehensive private market transactions management platform demonstrating modern microservices architecture.
- Frontend: React 18 + TypeScript + Vite
- Backend: .NET Core 8.0 Web API
- Analytics Service: Python FastAPI with ML-based risk analysis
- Database: PostgreSQL 16
- Portfolio management
- Transaction tracking (buy/sell)
- Real-time risk assessment using ML algorithms
- Portfolio analytics and valuation
- RESTful API with Swagger documentation
- Comprehensive unit test coverage
- Docker containerization
- Kubernetes deployment with Helm charts
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop all services
docker-compose down
Access the application:
- Frontend: http://localhost:4300
- Backend API: http://localhost:4500
- Analytics Service: http://localhost:4800
- Swagger UI: http://localhost:4500/swagger
- PostgreSQL: localhost:4432
# First time setup
./k8s/k3d-setup.sh
# Start cluster
./k8s/k3d-start.sh
# Stop cluster
./k8s/k3d-stop.sh
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Analytics Service: http://localhost:8000
Note: Docker Compose and k3d use different ports, so both can run simultaneously without conflicts.
- .NET SDK 8.0
- Python 3.11+
- Node.js 20+
- PostgreSQL 16
# Start PostgreSQL
docker run -d \
--name privatemarkets-db \
-e POSTGRES_DB=privatemarkets \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-p 5432:5432 \
postgres:16-alpine
# Initialize schema
psql -h localhost -U postgres -d privatemarkets -f database/init/01-schema.sql
psql -h localhost -U postgres -d privatemarkets -f database/init/02-seed-data.sql
cd backend/PrivateMarketHub.API
dotnet restore
dotnet run
cd analytics
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000
cd frontend
npm install
npm run dev
cd backend/PrivateMarketHub.Tests
dotnet test
cd analytics
pytest
cd frontend
npm test
See k8s/README.md for Kubernetes deployment instructions.
# Install with Helm
helm install privatemarkets ./k8s/helm/privatemarkets
.
├── backend/ # .NET Core API
│ ├── PrivateMarketHub.API/ # Main API project
│ └── PrivateMarketHub.Tests/# Unit tests
├── analytics/ # Python analytics service
│ ├── app/ # Application code
│ └── tests/ # Unit tests
├── frontend/ # React frontend
│ ├── src/ # Source code
│ └── public/ # Static assets
├── database/ # Database scripts
│ └── init/ # Initialization SQL
├── k8s/ # Kubernetes manifests
│ └── helm/ # Helm charts
├── docker-compose.yml # Docker Compose config
└── .devcontainer/ # Dev Container config
Once the backend is running, visit:
- Swagger UI: http://localhost:5000/swagger
- OpenAPI spec: http://localhost:5000/swagger/v1/swagger.json
This project includes a DevContainer configuration for consistent development environments.
- Open in VS Code
- Install "Dev Containers" extension
- Click "Reopen in Container"
- Run
docker-compose up
inside the container
MIT License - see LICENSE file for details