Standard React FastAPI Environment

License OS Python

CI Python Lint pages-build-deployment CodeQL Advanced

Python Pytest FastAPI React Native TypeScript Jest Expo

🇺🇸 English | 🇮🇳 हिंदी | 🇯🇵 日本語 | 🇨🇳 简体中文 | 🇪🇸 Español | 🇧🇷 Português (Brasil) | 🇰🇷 한국어 | 🇩🇪 Deutsch | 🇫🇷 Français

Mobile UI

Expo mobile screenshot

Web UI

"web_ui"

Ein sofort ausführbarer full-stack starter container, der eine Expo React Native app mit einem FastAPI backend verbindet.

Dieses template enthält ein Expo React Native frontend, ein FastAPI backend, PostgreSQL, JWT authentication, CRUD APIs, Docker Compose, backend tests, frontend tests und GitHub Actions CI.

Verwende dieses repository, wenn du eine mobile app oder web app mit Expo erstellen und sie mit einem FastAPI backend verbinden möchtest.

full-stack development environment mit:


Features

  • Cross-platform frontend mit Expo
    • Läuft als web app oder auf Android/iOS devices über Expo Go oder standalone builds
  • CRUD operations : records erstellen, lesen, aktualisieren und löschen
  • Auth operations : Signup, Signin, Signout
  • FastAPI backend mit automatic docs
    • Versioned REST API unter /api/v1 mit Swagger UI (/docs)

🚀 Getting Started

1. Prerequisites

2. Alle services builden und starten:

# 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. Services aufrufen:

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

  • Frontend UI (WEB): http://localhost:8081
  • Frontend UI (mobile): exp://${YOUR_HOST}:8081: mit dem von Expo bereitgestellten QR darauf zugreifen. "expo"

License

  • Apache License 2.0