Трек: Функции через создание API
Представь, что ты пишешь backend для собственного стартапа.
⸻
Уровень 1. Первые endpoint’ы
Задача 1. Проверка сервера
Создай функцию:
def health():
pass
Возвращает:
{
"status": "ok"
}
⸻
Задача 2. Получение профиля
def get_user():
pass
Возвращает:
{
"id": 1,
"nickname": "ghost"
}
⸻
Задача 3. Генерация токена
def generate_token(username):
pass
Возвращает токен:
ghost_123456
⸻
Уровень 2. Query параметры
Задача 4. Поиск пользователей
def search_users(query):
pass
Вызов:
search_users("alex")
Возвращает найденных пользователей.
⸻
Задача 5. Фильтр видео
def get_videos(category):
pass
Категории:
- gaming
- music
- coding
⸻
Задача 6. Фильтр мемов
def get_memes(limit=10):
pass
⸻
Уровень 3. Работа с JSON
Задача 7. Регистрация
def register(data):
pass
Получает:
{
"username": "alex",
"password": "123456"
}
Проверяет данные.
⸻
Задача 8. Авторизация
def login(data):
pass
Возвращает:
{
"access_token": "..."
}
⸻
Задача 9. Создание поста
def create_post(data):
pass
⸻
Уровень 4. CRUD
Задача 10. Создать пользователя
create_user()
⸻
Задача 11. Получить пользователя
get_user()
⸻
Задача 12. Обновить пользователя
update_user()
⸻
Задача 13. Удалить пользователя
delete_user()
⸻
Уровень 5. FastAPI
Поставь FastAPI.
Создай endpoint:
GET /ping
Ответ:
{
"pong": true
}
⸻
Задача 14
GET /users
Вернуть список пользователей.
⸻
Задача 15
GET /users/1
Получить пользователя по id.
⸻
Задача 16
POST /users
Создать пользователя.
⸻
Задача 17
DELETE /users/1
Удалить пользователя.
⸻
Уровень 6. Стартап “Своя нейросеть”
Задача 18
POST /prompt
Принимает:
{
"prompt": "Напиши стих"
}
Возвращает фейковый ответ ИИ.
⸻
Задача 19
Сохранять историю запросов.
GET /history
⸻
Задача 20
Добавить счетчик токенов.
⸻
Уровень 7. Discord Backend
Создай API для Discord-сервера.
Endpoint
POST /ban
⸻
Endpoint
POST /mute
⸻
Endpoint
GET /members
⸻
Endpoint
GET /logs
⸻
Уровень 8. API для игры
Создать персонажа
POST /characters
⸻
Получить персонажа
GET /characters/{id}
⸻
Купить предмет
POST /shop/buy
⸻
Начать бой
POST /battle
⸻
Уровень 9. Реальный backend
Написать REST API для клона Steam.
Endpoints:
POST /register
POST /login
GET /games
GET /games/{id}
POST /games
POST /cart/add
POST /cart/remove
POST /purchase
GET /profile
PUT /profile
GET /library
Что отрабатывается:
- функции;
- параметры функций;
- return;
- словари;
- списки;
- типизация;
- CRUD;
- FastAPI;
- Pydantic;
- HTTP методы;
- REST архитектура;
- структура реального backend проекта.
Такой набор уже похож не на учебник Python, а на работу junior backend-разработчика.