Skip to content

Jeson3532/EffectiveMobile

Repository files navigation

Effective Mobile Backend App

  • БистСма Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ OAuth 2.0 с Ρ€ΠΎΠ»Π΅Π²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€Π°Π².

ВСрсия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Python 3.12

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: FastAPI, sqlalchemy (ORM, +asyncpg), alembic, Redis, PyJWT

CI/CD стСк: Docker, git

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ запуску ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ:
    • git clone https://github.com/Jeson3532/EffectiveMobile.git
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:
    • python -m venv .venv | python3 -m venv .venv
    • source .venv/bin/activate (Linux) | ./.venv/Scripts/activate (PS)
  3. УстановитС всС зависимости Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ:
    • pip install -r requirements.txt
  4. УстановитС PYTHONPATH Π½Π° ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
    • PS: $env:PYTHONPATH='.'
    • CMD: set PYTHONPATH=.
    • Linux & macOS: export PYTHONPATH=.
  5. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .env ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:
# Security
SECRET_KEY=YOUR_SECRET_KEY
# Database
POSTGRES_USER=admin
POSTGRES_PASSWORD=admin
POSTGRES_DB=efmobile
POSTGRES_PORT=5432
# Redis
REDIS_HOST=redis_db
REDIS_PORT=6379 
  1. УстановитС ΠΈ запуститС Docker:
    • Windows: установитС Docker Desktop ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ WSL Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, послС запуститС Π΅Π³ΠΎ.
    • macOS: установитС Docker Desktop ΠΈ запуститС Π΅Π³ΠΎ.
    • Linix: УстановитС Docker Engine Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ запуститС процСсс.
  2. Π—Π°Π±ΠΈΠ»Π΄ΠΈΡ‚Π΅ ΠΈ запуститС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹:
    • docker compose up -d --build
  3. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π°ΠΌΠΏ Π±Π°Π·Ρ‹:
    .sql: cat db_backup.sql | docker exec -i effective-mobile-postgres_db-1 psql -U admin -d efmobile
  4. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ всС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Π½ΠΎ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ потрСбуСтся):
    • docker exec -it effective-mobile-backend-1 alembic stamp head
  5. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎ адрСсу localhost:8000/docs (Swagger) Π»ΠΈΠ±ΠΎ localhost:8000/redoc (ReDoc) для тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.
    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ 'Authorize' справа свСрху ΠΈ Π²ΠΎΠΉΡ‚ΠΈ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ с root-ΠΏΡ€Π°Π²Π°ΠΌΠΈ:
    • username: root@gmail.com
    • password: 12345678

About

πŸ—£οΈ | Backend-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, систСма Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ с Π²Ρ‹Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ CRUD-Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors