API для управления задачами (Todo) с возможностью добавления тегов.
- Создание, чтение, обновление и удаление задач
- Создание, чтение, обновление и удаление тегов
- Пагинация и фильтрация задач
- Валидация входных данных
- Python 3.10+
- FastAPI 0.95+
- MongoDB (через Motor для асинхронной работы)
- Pydantic 2.0+
- Клонировать репозиторий
- Создать виртуальное окружение:
python -m venv venv source venv/bin/activate # для Linux/macOS venv\Scripts\activate # для Windows
- Установить зависимости:
pip install -r requirements.txt
- Создать файл
.env
на основе.env.example
- Запустить MongoDB
- Запустить приложение:
python main.py
После запуска API будет доступно по адресу http://localhost:8000
GET /api/todos
- Получить список задачGET /api/todos/{todo_id}
- Получить задачу по IDPOST /api/todos
- Создать новую задачуPUT /api/todos/{todo_id}
- Обновить задачуDELETE /api/todos/{todo_id}
- Удалить задачу
GET /api/tags
- Получить список теговGET /api/tags/{tag_id}
- Получить тег по IDPOST /api/tags
- Создать новый тегPUT /api/tags/{tag_id}
- Обновить тегDELETE /api/tags/{tag_id}
- Удалить тег
POST /api/tags
{
"name": "Важное",
"color": "#ff0000"
}
POST /api/todos
{
"title": "Изучить FastAPI",
"description": "Изучить основы FastAPI и создать проект",
"due_date": "2023-12-31T00:00:00",
"tags": ["идентификатор_тега_1", "идентификатор_тега_2"]
}
GET /api/todos?is_completed=false&tag_id=идентификатор_тега
GET /api/todos?limit=5&offset=10