Get your FinTech platform up and running in minutes!
Option 1: Docker (Recommended)
- Docker Desktop for Windows (Download)
- See SETUP_WINDOWS.md for detailed Windows installation
Option 2: Local Setup
- Python 3.9 or higher
- PostgreSQL 13+
- Redis (optional, for caching)
Windows Users: If
docker-composecommand doesn't work, trydocker compose(space instead of hyphen). If Docker is not installed, see SETUP_WINDOWS.md for installation instructions.
# Windows PowerShell
cd C:\Users\kalem\Documents\Tresor_cursor\Personal\research-build-network\finTech
Copy-Item env.example .env
notepad .env # Edit with your SECRET_KEY and ENCRYPTION_KEY# Try this first (newer Docker)
docker compose up -d
# Or if that doesn't work, try:
docker-compose up -dThis will start:
- PostgreSQL database
- Redis cache
- Application server
docker compose exec app alembic upgrade head
# Or: docker-compose exec app alembic upgrade head- API: http://localhost:8000
- API Docs: http://localhost:8000/api/docs
- Health Check: http://localhost:8000/health
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt# Install PostgreSQL and create database
createdb fintech_db
# Or use Docker for PostgreSQL
docker run -d --name postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=fintech_db -p 5432:5432 postgres:15cp env.example .env
# Edit .env with your database URL and secretsalembic upgrade headuvicorn app.main:app --reloadcurl -X POST "http://localhost:8000/api/v1/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "SecurePass123!",
"first_name": "Test",
"last_name": "User"
}'curl -X POST "http://localhost:8000/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "SecurePass123!"
}'Save the access_token from the response.
curl -X GET "http://localhost:8000/api/v1/users/me" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"curl -X POST "http://localhost:8000/api/v1/transactions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transaction_type": "deposit",
"amount": "1000.00",
"currency": "ZAR",
"description": "Test deposit"
}'curl -X GET "http://localhost:8000/api/v1/data-subject/access" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"-
Read the Documentation
-
Explore the API
- Visit http://localhost:8000/api/docs for interactive API documentation
-
Setup MFA
- Use the
/api/v1/auth/mfa/setupendpoint - Scan QR code with authenticator app (Google Authenticator, Authy)
- Use the
-
Configure for Production
- Review Deployment Guide
- Set up proper secrets management
- Configure cloud provider
# Check if PostgreSQL is running
docker-compose ps
# Check database logs
docker-compose logs db# Change port in docker-compose.yml or use different port
uvicorn app.main:app --port 8001# Reset database (WARNING: Deletes all data)
docker-compose down -v
docker-compose up -d
docker-compose exec app alembic upgrade head- Check the Learning Guide for step-by-step tutorials
- Review API documentation at
/api/docs - Check logs:
docker-compose logs -f app
- Change
SECRET_KEYandENCRYPTION_KEYin.env - Use strong, random keys (min 32 characters)
- Never commit
.envto version control - Enable HTTPS in production
- Configure proper CORS origins
- Set up monitoring and alerting
Happy coding! 🚀