- Регистрация и аутентификация пользователей (JWT/Куки)
- Администрирование пользователей сквозь призму системы прав разграничений уровня доступа (гранулярный доступ - роли)
- Админ панель, в которой есть динамический поиск среди пользователей с подсвечиванием синтаксиса совпадения, фильтрация по динамическим ролям, пагинатор, возможность менять роль пользователям и удалять их
- Просмотр небольшой статистики (наиболее популярное место отдыха, время года путешествий, самая релевантная гостиница и предпочитаемый вид транспорта)
- Создание путешествий c возможностью выбора транспорта (самолет/машина), произвольного количества точек, отображения графического представления на карте (Yandex API), поиска аэропорта по базе ICAO-кодов, сохранения созданного путешествия и дальнейшего его просмотра, суммарный подсчет стоимости путешествия (с возможностью конвертации в различных валютах согласно актуальному курсу), а также отображение корректного часового пояса в выбранном пункте назначения (TimeZoneDB)
[GET] /api/v1 - Главная страница
[GET] /api/v1/auth/register/ - Страница регистрации
[POST] /api/v1/auth/register/ - Регистрация
[GET] /api/v1/auth/login/ - Страница входа в систему
[POST] /api/v1/auth/login/ - Вход в систему
[POST] /api/v1/auth/logout/ - Выход из системы
[GET] /api/v1/users/profile/ - Профиль пользователя
[GET] /api/v1/users/ - Получить всех пользователей
[GET] /api/v1/users/filter - Поиск пользователя по Имени/Фамилии
[GET] /api/v1/users/statistics/ - Получить статистику
[GET] /api/v1/users/{id_user}/ - Получить пользователя по id
[DELETE] /api/v1/users/{id_user}/ - Удалить пользователя по id
[PATCH] - /api/v1/users/{id_user}/role/{id_role}/ - Смена роли пользователя
[GET] /api/v1/app/new_trip/ - Страница создания нового путешествия
[GET] /api/v1/app/new_trip/airport - Поиск аэропорта/ICAO кода
[GET] /api/v1/app/map/ - Отображения Yandex Map
[GET] /api/v1/app/saved_trips/ - Страница сохраненных путешествий пользователя
[GET] /api/v1/app/saved_trips/{id_trip} - Получить сохраненное путешествие по id
[POST] /api/v1/app/submit/ - Подтверждение к отправке созданного путешествия на сервер
[POST] /api/v1/app/send/ - Отправка созданного путешествия в БД
[POST] /api/v1/app/location/ - Получить местоположение для определения часового пояса
Swagger: http://localhost:8000/docs
ReDoc: http://localhost:8000/redoc
├── LICENSE
├── README.md
├── backend
├── Dockerfile
├── __init__.py
├── __pycache__
├── alembic.ini
├── poetry.lock
├── pyproject.toml
├── requirements.txt
└── src
├── __init__.py
├── adapters
│ ├── __init__.py
│ └── entrypoints
│ ├── __init__.py
│ ├── api
│ │ ├── __init__.py
│ │ ├── routers.py
│ │ └── v1
│ │ ├── __init__.py
│ │ ├── auth
│ │ │ ├── __init__.py
│ │ │ └── auth_router.py
│ │ ├── icao
│ │ │ ├── __init__.py
│ │ │ └── icao_router.py
│ │ ├── index
│ │ │ ├── __init__.py
│ │ │ └── index_router.py
│ │ └── users
│ │ ├── __init__.py
│ │ └── users_router.py
│ ├── static
│ │ ├── base.css
│ │ ├── icao
│ │ │ ├── 0_fMz62Ks_u0QvVQ1E.png
│ │ │ ├── autocomplete.js
│ │ │ ├── map.css
│ │ │ ├── rate.js
│ │ │ ├── test.js
│ │ │ ├── timer.js
│ │ │ └── trips.css
│ │ └── users
│ │ ├── assets
│ │ │ ├── airplane_icon.png
│ │ │ ├── roles_icon.png
│ │ │ └── user_icon.png
│ │ └── users.css
│ ├── templates
│ │ ├── auth
│ │ │ ├── login.html
│ │ │ └── register.html
│ │ ├── base.html
│ │ ├── trips
│ │ │ ├── form.html
│ │ │ ├── map-old.html
│ │ │ ├── map-other.html
│ │ │ ├── map.html
│ │ │ ├── my_trips.html
│ │ │ └── saved.html
│ │ └── users
│ │ ├── all_users.html
│ │ ├── current_user.html
│ │ ├── profile.html
│ │ └── statistics.html
│ └── utilities
│ ├── __init__.py
│ ├── auth.py
│ └── dependencies.py
├── configurator
│ ├── __init__.py
│ └── config.py
├── domain
│ ├── __init__.py
│ ├── models
│ │ ├── __init__.py
│ │ ├── airport.py
│ │ ├── trip.py
│ │ ├── trip_point.py
│ │ └── user.py
│ ├── ports
│ │ ├── __init__.py
│ │ ├── airport_repository.py
│ │ ├── trip_repository.py
│ │ └── user_repository.py
│ └── schemas
│ ├── __init__.py
│ └── users.py
├── infrastructure
│ ├── __init__.py
│ └── db
│ ├── __init__.py
│ ├── dao
│ │ ├── __init__.py
│ │ ├── airport.py
│ │ ├── trip.py
│ │ └── users.py
│ ├── database.py
│ └── migration
│ ├── README
│ ├── __init__.py
│ ├── data
│ │ └── icao.csv
│ ├── env.py
│ ├── script.py.mako
│ └── versions
│ ├── 09458a9f8bba_create_users_table.py
│ ├── 4cdd72cd7989_create_save_trips.py
│ ├── 5e897b6b8061_create_icao_table.py
│ ├── 88bbee1de683_create_roles_table.py
│ ├── 950f5c02cfc9_updated_users_table.py
│ ├── __init__.py
│
└── main.py
── docker-compose.yml
── frontend
├── Dockerfile
├── node_modules
├── package-lock.json
├── package.json
├── react-apps
├── static
└── vite.config.js
── venv
├── bin
├── include
├── lib
└── pyvenv.cfg- Болотов Глеб
- Калинин Артем
- Смирнов Кирилл
- Темников Дмитрий







