Standard React FastAPI Environment

Standard React FastAPI Environment

License OS Python CI Python Lint pages-build-deployment CodeQL Advanced

Python Pytest FastAPI React Native TypeScript Jest Expo

"web_ui"

full-stack development environment using:


Features

  • Cross-platform frontend with Expo
    • Runs as a web app or on Android/iOS devices via Expo Go or standalone builds
  • CRUD operations : Create, Read, Update, Delete records
  • Auth operations : Signup, Signin, Signout
  • FastAPI backend with automatic docs
    • REST API with Swagger UI (/docs)

🚀 Getting Started

1. Prerequisites

2. Build and start all services:

# set environment variables:
export REACT_NATIVE_PACKAGER_HOSTNAME=${YOUR_HOST}

# Build the image
docker compose build

# Run the container
docker compose up

3. Test:

# Backend pytest
docker compose \
  -f docker-compose.test.yml run \
  --rm \
  --entrypoint /bin/sh backend_test \
  -lc ' pytest -q '

# Backend Lint
docker compose \
  -f docker-compose.test.yml run \
  --rm \
  --entrypoint /bin/sh backend_test \
  -lc 'ruff check /app /tests'

# Frontend Test
docker compose \
  -f docker-compose.test.yml run \
  --rm frontend_test

4. Visit the services:

  • Backend API: http://localhost:8000/docs "backend"

  • Frontend UI (WEB): http://localhost:8081
  • Frontend UI (mobile): exp://${YOUR_HOST}:8081: access it with the QR provided by Expo. "expo"

License

  • Apache License 2.0