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"

चलाने के लिए तैयार full-stack starter container, जो Expo React Native app को FastAPI backend से जोड़ता है।

इस template में Expo React Native frontend, FastAPI backend, PostgreSQL, JWT authentication, CRUD APIs, Docker Compose, backend tests, frontend tests, और GitHub Actions CI शामिल हैं।

जब आप Expo के साथ mobile या web app बनाना चाहते हैं और उसे FastAPI backend से जोड़ना चाहते हैं, तब इस repository का उपयोग करें।

full-stack development environment जिसमें शामिल हैं:


Features

  • Expo के साथ Cross-platform frontend
    • Expo Go या standalone builds के माध्यम से web app के रूप में या Android/iOS devices पर चलता है
  • CRUD operations : records बनाना, पढ़ना, update करना, delete करना
  • Auth operations : Signup, Signin, Signout
  • automatic docs के साथ FastAPI backend
    • /api/v1 के अंतर्गत versioned REST API, Swagger UI (/docs) के साथ

🚀 Getting Started

1. Prerequisites

2. सभी services build और start करें:

# 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 देखें:

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

  • Frontend UI (WEB): http://localhost:8081
  • Frontend UI (mobile): exp://${YOUR_HOST}:8081: Expo द्वारा दिए गए QR से access करें. "expo"

License

  • Apache License 2.0