🇪🇸 Español
Standard React FastAPI Environment
🇺🇸 English | 🇮🇳 हिंदी | 🇯🇵 日本語 | 🇨🇳 ç®€ä½“ä¸æ–‡ | 🇪🇸 Español | 🇧🇷 Português (Brasil) | 🇰🇷 한êµì–´ | 🇩🇪 Deutsch | 🇫🇷 Français
Mobile 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:
- Frontend: Expo (React Native + TypeScript)
- Se ejecuta en Web, Android e iOS con una sola codebase
- Backend: FastAPI (Python)
- Database: PostgreSQL
- Container: Docker Compose para un development setup consistente
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/v1con Swagger UI (/docs)
- Versioned REST API bajo
🚀 Getting Started
1. Prerequisites
- Docker Compose
- Expo Go (para Android/iOS testing)
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

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

License
- Apache License 2.0