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"

Un full-stack starter container listo para ejecutar, diseñado para conectar una app Expo React Native con un backend FastAPI.

Este template incluye un frontend Expo React Native, un backend FastAPI, PostgreSQL, JWT authentication, CRUD APIs, Docker Compose, backend tests, frontend tests y GitHub Actions CI.

Usa este repository cuando quieras crear una mobile app o web app con Expo y conectarla a un backend FastAPI.

full-stack development environment que utiliza:


Features

  • Cross-platform frontend con Expo
    • Se ejecuta como web app o en Android/iOS devices mediante Expo Go o standalone builds
  • CRUD operations : crear, leer, actualizar y eliminar records
  • Auth operations : Signup, Signin, Signout
  • FastAPI backend con automatic docs
    • Versioned REST API bajo /api/v1 con Swagger UI (/docs)

🚀 Getting Started

1. Prerequisites

2. Build y start de todos los 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. Visita los services:

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

  • Frontend UI (WEB): http://localhost:8081
  • Frontend UI (mobile): exp://${YOUR_HOST}:8081: accede con el QR proporcionado por Expo. "expo"

License

  • Apache License 2.0