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"

Expo React Native app을 FastAPI backend에 연결하기 위한, 바로 실행 가능한 full-stack starter container입니다.

이 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
    • web app으로 실행하거나 Expo Go 또는 standalone builds를 통해 Android/iOS devices에서 실행할 수 있습니다
  • CRUD operations : records 생성, 읽기, 업데이트, 삭제
  • 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