9ab99aa7e4b44f17df5b2859cf024444f9e29961
AutoBro Backend
API сервер для хранения и управления данными об автомобилях.
Структура проекта
- main.py - основной файл с API эндпоинтами
- models.py - модели SQLAlchemy для базы данных
- schemas.py - схемы Pydantic для валидации данных
- database.py - настройка подключения к базе данных
- crud.py - функции для CRUD операций
- auth.py - функции для JWT авторизации
- create_admin.py - скрипт для создания первого админа
Запуск проекта
- Установите зависимости:
pip install -r requirements.txt
- Создайте первого администратора:
python create_admin.py --username admin --password your_password
- Запустите сервер:
uvicorn main:app --reload
Сервер будет доступен по адресу http://localhost:8000
JWT Авторизация
Для доступа к API необходима JWT авторизация. Вот как она работает:
- Получите токен доступа, отправив POST-запрос к
/token
с вашими учетными данными:
curl -X POST http://localhost:8000/token -d "username=admin&password=your_password" -H "Content-Type: application/x-www-form-urlencoded"
- Используйте полученный токен для доступа к защищенным эндпоинтам:
curl -X GET http://localhost:8000/cars -H "Authorization: Bearer your_token_here"
API эндпоинты
- POST /token - получить JWT токен (авторизация)
- POST /admins - создать нового администратора (только для админов)
- GET /users/me - получить информацию о текущем пользователе
- GET /cars - получить список всех автомобилей
- GET /cars/{car_id} - получить информацию о конкретном автомобиле
- POST /cars - добавить новый автомобиль
- PUT /cars/{car_id} - обновить информацию об автомобиле
- DELETE /cars/{car_id} - удалить автомобиль
Документация API
После запуска сервера документация доступна по адресам:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Description
Languages
Python
100%