full-stack development environment using:
- Frontend: Expo (React Native + TypeScript)
- Runs on Web, Android, and iOS with a single codebase
- Backend: FastAPI (Python)
- Database: PostgreSQL
- Container: Docker Compose for consistent development setup
- 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)
- Docker Compose
- Expo Go (for Android/iOS testing)
# set environment variables:
export REACT_NATIVE_PACKAGER_HOSTNAME=${YOUR_HOST}
# Build the image
docker compose build
# Run the container
docker compose up# 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-
Backend API: http://localhost:8000/docs

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

- Apache License 2.0
