Skip to content

😺 ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π‘Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΡ‚ΠΈΠΊΠΎΠ² QRKot.

Notifications You must be signed in to change notification settings

KomkovAleksey/QRkot_spreadsheets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

😺 QRKot

ОглавлСниС:

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:

  • Python 3.9.10
  • Fastapi 0.78.0
  • SQLalchemy 1.4.36
  • Alembic 1.7.7
  • Uvicorn 0.17.6
  • Google API

ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π‘Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΡ‚ΠΈΠΊΠΎΠ² QRKot.

Π€ΠΎΠ½Π΄ собираСт поТСртвования Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹: Π½Π° мСдицинскоС обслуТиваниС Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ хвостатых, Π½Π° обустройство ΠΊΠΎΡˆΠ°Ρ‡ΡŒΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΈΠΈ Π² ΠΏΠΎΠ΄Π²Π°Π»Π΅, Π½Π° ΠΊΠΎΡ€ΠΌ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΌΡΡ Π±Π΅Π· попСчСния кошкам β€” Π½Π° Π»ΡŽΠ±Ρ‹Π΅ Ρ†Π΅Π»ΠΈ, связанныС с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠΎΡˆΠ°Ρ‡ΡŒΠ΅ΠΉ популяции.

ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅: ΠΎΠ½ΠΈ вносятся Π² Ρ„ΠΎΠ½Π΄, Π° Π½Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ нСсколько Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, описаниС ΠΈ сумма, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ планируСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ нуТная сумма собрана β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ закрываСтся.

ΠŸΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ:

Π›ΡŽΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ список всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΡƒΠΆΠ΅ внСсСнныС суммы. Π­Ρ‚ΠΎ касаСтся всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² β€” ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ…, ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ….

Авторизованный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚:

ЗарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ поТСртвования ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список своих ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ.

НСавторизованный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π‘ΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚:

Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ внСсСно срСдств, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ описаниС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ сумму (Π½ΠΎ Π½Π΅ мСньшС ΡƒΠΆΠ΅ внСсённой).

Установка ΠΈ запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:
mkdir cat_charity_fund
cd cat_charity_fund
git clone https://github.com/KomkovAleksey/cat_charity_fund

CΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

python3 -m venv venv
  • Если Ρƒ вас Linux/macOS

    source venv/bin/activate
    
  • Если Ρƒ вас windows

    source venv/scripts/activate
    
  • УстановитС зависимости ΠΈΠ· Ρ„Π°ΠΉΠ»Π° requirements.txt ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ pip:

python -m pip install --upgrade pip
pip install -r requirements.txt
  • Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ .env Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
touch .env

Π’ Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹.

DATABASE_URL=
SECRET=
APP_TITLE=
FIRST_SUPERUSER_EMAIL=
FIRST_SUPERUSER_PASSWORD=
# Π”Π°Π½Π½Ρ‹Π΅ вашСго сСрвисного Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°
TYPE=
PROJECT_ID=
PRIVATE_KEY_ID=
PRIVATE_KEY=
CLIENT_EMAIL=
CLIENT_ID=
AUTH_URI=
TOKEN_URI=
AUTH_PROVIDER_X509_CERT_URL=
CLIENT_X509_CERT_URL=
EMAIL=

Π’ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» .env.example, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ .env Ρ„Π°ΠΉΠ».

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ:

alembic upgrade head

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

uvicorn app.main:app

БСрвис QRKot Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΏΠΎ адрСсу: http://127.0.0.1:8000

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запросов ΠΊ API

ВсС запросы дСлались Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Postman

POST charity_project

http://127.0.0.1:8000/charity_project/

{
    "name": "string",
    "description": "string",
    "full_amount": 0
}

ΠžΡ‚Π²Π΅Ρ‚

{
    "name": "string",
    "description": "string",
    "full_amount": 0,
    "id": 0,
    "invested_amount": 0,
    "fully_invested": true,
    "create_date": "2019-08-24T14:15:22Z",
    "close_date": "2019-08-24T14:15:22Z"
}

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ поТСртвования

POST donation

http://127.0.0.1:8000/donation/

{
    "full_amount": 0,
    "comment": "string"
}

ΠžΡ‚Π²Π΅Ρ‚

{
    "full_amount": 0,
    "comment": "string",
    "id": 0,
    "create_date": "2019-08-24T14:15:22Z"
}

РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

POST user

http://127.0.0.1:8000/auth/register

{
    "email": "{{firstUserEmail}}",
    "password": "{{firstUserPassword}}"
}

ΠžΡ‚Π²Π΅Ρ‚

{
  "id": 1,
  "email": "[email protected]",
  "is_active": true,
  "is_superuser": false,
  "is_verified": false
}

Автор

АлСксСй Комков

About

😺 ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π‘Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΡ‚ΠΈΠΊΠΎΠ² QRKot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published