add: personal

This commit is contained in:
2025-07-13 17:24:50 +05:00
parent 821741a9f8
commit 481612925c
9 changed files with 222 additions and 7 deletions

View File

@ -9,16 +9,24 @@ API сервер для хранения и управления данными
- **schemas.py** - схемы Pydantic для валидации данных
- **database.py** - настройка подключения к базе данных
- **crud.py** - функции для CRUD операций
- **auth.py** - функции для JWT авторизации
- **create_admin.py** - скрипт для создания первого админа
## Запуск проекта
1. Установите зависимости:
```bash
pip install fastapi uvicorn sqlalchemy pydantic
pip install -r requirements.txt
```
2. Запустите сервер:
2. Создайте первого администратора:
```bash
python create_admin.py --username admin --password your_password
```
3. Запустите сервер:
```bash
uvicorn main:app --reload
@ -26,8 +34,27 @@ uvicorn main:app --reload
Сервер будет доступен по адресу http://localhost:8000
## JWT Авторизация
Для доступа к API необходима JWT авторизация. Вот как она работает:
1. Получите токен доступа, отправив POST-запрос к `/token` с вашими учетными данными:
```bash
curl -X POST http://localhost:8000/token -d "username=admin&password=your_password" -H "Content-Type: application/x-www-form-urlencoded"
```
2. Используйте полученный токен для доступа к защищенным эндпоинтам:
```bash
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** - добавить новый автомобиль