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

"web_ui"

다음 기술을 사용하는 풀스택 개발 환경입니다.


Features

  • Expo 기반 크로스 플랫폼 frontend
    • web app으로 실행하거나 Expo Go 또는 standalone builds를 통해 Android/iOS devices에서 실행할 수 있습니다
  • CRUD operations : records 생성, 읽기, 업데이트, 삭제
  • Auth operations : Signup, Signin, Signout
  • automatic docs를 제공하는 FastAPI backend
    • Swagger UI (/docs)를 포함한 REST API

🚀 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로 접속합니다. "expo"

License

  • Apache License 2.0