https://github.com/pacmancity/bookingexperts
BookingExperts - π¨π
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π»Π΅ΠΉ. ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠΎΠ½ΡΠΌΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ FastAPI ΠΈ SQLAlchemy, Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
PostgreSQL
https://github.com/pacmancity/bookingexperts
alembic asyncpg fast-api passlib postgresql python python-jose sql-alchemy
Last synced: 11 months ago
JSON representation
BookingExperts - π¨π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π»Π΅ΠΉ. ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠΎΠ½ΡΠΌΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ FastAPI ΠΈ SQLAlchemy, Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ PostgreSQL
- Host: GitHub
- URL: https://github.com/pacmancity/bookingexperts
- Owner: pacmancity
- License: other
- Created: 2023-10-05T11:14:54.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-09T04:49:48.000Z (about 2 years ago)
- Last Synced: 2025-01-06T06:43:43.268Z (about 1 year ago)
- Topics: alembic, asyncpg, fast-api, passlib, postgresql, python, python-jose, sql-alchemy
- Language: HTML
- Homepage: https://kluev.dynnamn.ru/hotels
- Size: 1.78 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BookingExperts
### ΠΠ΄ΡΠ΅Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°: [BookingExperts](http://kluev.dynnamn.ru/hotels)
## Π‘ΡΠ΅ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°


















[](https://www.docker.com/)
[](https://github.com/kluev-evga/BookingExperts/blob/master/LICENSE)
[](https://github.com/kluev-evga/BookingExperts)
## Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
BookingExperts - ΡΡΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠΎΠ½ΡΠΌΠΈ Π² Π³ΠΎΡΡΠΈΠ½ΠΈΡΠ°Ρ
. ΠΡΠΎΠ΅ΠΊΡ
ΡΠΎΠ·Π΄Π°Π½ Ρ ΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠΎΠ½ΡΠΌΠΈ ΠΈ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ².
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
* Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: BookingExperts ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° FastAPI ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
PostgreSQL Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡ Ρ ΠΌΠΎΡΠ½ΡΠΌ SQLAlchemy.
* ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ Π Π΅Π·Π΅ΡΠ²Π°ΡΠΈΠΈ: ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π±ΡΡΡΡΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΈ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠ»ΡΠ³.
* ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ» .env Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
```plaintext
DB_HOST= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, localhost
DB_PORT= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 5432
DB_USER= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, postgres
DB_PASS= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, postgres
DB_NAME= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, booking
SECRET_KEY= # ΠΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: openssl rand -base64 32
ALGORITHM= # ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, HS256
TEST_DB_HOST=localhost
TEST_DB_PORT=5432
TEST_DB_USER=booking
TEST_DB_PASS=admin
TEST_DB_NAME=test
REDIS_HOST='localhost'
REDIS_PORT=6379
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
SMTP_USER=
SMTP_PASSWORD=
```
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π² PostgreSQL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "booking". ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ PostgreSQL Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² .env:
```
sudo -u postgres psql
```
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
"booking":
```
CREATE DATABASE booking;
```
3. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π°:
```
\l
```
4. ΠΡΠΉΠ΄ΠΈΡΠ΅ ΠΈΠ· psql:
```
\q
```
5. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Alembic:
```
alembic revision --autogenerate -m 'initial' # ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
alembic upgrade head # ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
```
## ΠΠΈΡΠ΅Π½Π·ΠΈΡ π
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ `Apache License`. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Π² [LICENSE](https://github.com/kluev-evga/BookingExperts/blob/master/LICENSE).