SimGuard is a fraud detection and verification dashboard built with a FastAPI backend and a React/Vite frontend.
Create a local environment file from the example:
copy .env.example .envUse the Docker Compose setup to build and run both services:
docker compose up --buildThis starts:
- Backend API on
http://localhost:8000 - Frontend on
http://localhost:5173/
Open your browser to:
- Frontend:
http://localhost:5173/ - Backend API docs:
http://localhost:8000/docs
If you prefer to run the services without Docker:
cd backend
C:\Users\Thando\AppData\Local\Programs\Python\Python312\python.exe -m venv venv
venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
pip install fastapi uvicorn sqlalchemy pydantic pydantic-settings python-dotenv httpx
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadcd frontend
npm install
npm run dev -- --hostThen open the frontend URL shown by Vite (usually http://localhost:5173).
The application can be deployed with Docker Compose or any container platform that supports separate backend and frontend services.
- Build and run locally with
docker compose up --build - Host the backend on any platform that supports FastAPI/Uvicorn and a SQLite or compatible database
- Host the frontend as a static site behind Nginx or another web server, pointing the API base URL to the backend
A simple CI workflow can install dependencies and validate the project files before deployment.
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install backend dependencies
run: |
cd backend
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- name: Check frontend install
run: |
cd frontend
npm install- Keep the real
.envfile private. .env.examplecontains placeholder values for required API keys and configuration.- The project uses
docker-compose.ymlto link frontend and backend containers.