Files
autobro_backend/README.md
2025-07-13 17:24:50 +05:00

2.7 KiB
Raw Blame History

AutoBro Backend

API сервер для хранения и управления данными об автомобилях.

Структура проекта

  • main.py - основной файл с API эндпоинтами
  • models.py - модели SQLAlchemy для базы данных
  • schemas.py - схемы Pydantic для валидации данных
  • database.py - настройка подключения к базе данных
  • crud.py - функции для CRUD операций
  • auth.py - функции для JWT авторизации
  • create_admin.py - скрипт для создания первого админа

Запуск проекта

  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте первого администратора:
python create_admin.py --username admin --password your_password
  1. Запустите сервер:
uvicorn main:app --reload

Сервер будет доступен по адресу http://localhost:8000

JWT Авторизация

Для доступа к API необходима JWT авторизация. Вот как она работает:

  1. Получите токен доступа, отправив POST-запрос к /token с вашими учетными данными:
curl -X POST http://localhost:8000/token -d "username=admin&password=your_password" -H "Content-Type: application/x-www-form-urlencoded"
  1. Используйте полученный токен для доступа к защищенным эндпоинтам:
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

После запуска сервера документация доступна по адресам: