Backend-разработчик на Python
Железка
- от 2 000 $
- Удаленная работа
- Опыт: 3-6 лет
- Полная занятость
Обязанности:
| Разработка backend с нуля (Django + FastAPI + PostgreSQL + Stripe + WebSockets + AWS + Vue.js) ## 1. Подготовка и выбор технологий ✅ Определить стек технологий: - Backend: Django + DRF (основное API), FastAPI (высоконагруженные части, WebSockets). - База данных: PostgreSQL + Redis (кэширование). - Платежи: Stripe (разовые платежи, подписки, webhooks). - Авторизация: OAuth (Google, Facebook), JWT. - Реальное время: Django Channels / FastAPI WebSockets. - DevOps: Docker, Nginx, Gunicorn, AWS (EC2, S3, RDS, CloudWatch). ✅ Настроить окружение: - Создать проект в Django + DRF. - Настроить виртуальное окружение (venv или Poetry). - Добавить базу данных PostgreSQL. - Создать базовые API (авторизация, работа с пользователями). --- ## 2. Разработка базового API Модели данных: - Разработка моделей пользователей (User, Profile). - Настройка аутентификации (OAuth, JWT, Django Allauth). - Добавление Stripe-моделей (Customer, Subscription). API эндпоинты: - /auth/register/ – регистрация пользователей. - /auth/login/ – вход (email/password + OAuth Google/Facebook). - /auth/logout/ – выход. - /users/me/ – профиль пользователя. - /payments/checkout/ – создание платежа в Stripe. - /payments/webhook/ – обработка webhook от Stripe. Docker: - Настроить docker-compose.yml (PostgreSQL + Redis + приложение). - Проверить работу API через Postman. --- ## 3. Платежная система (Stripe API) Интеграция Stripe: - Подключение Stripe SDK. - Создание одноразовых платежей. - Добавление подписок. - Обработка webhooks (успех/отмена/возврат платежей). Тестирование через Stripe Dashboard. --- ## 4. Чат и уведомления (WebSockets, Django Channels, FastAPI) Настройка WebSockets: - Подключение Django Channels или FastAPI WebSockets. - Разработка модели сообщений (Message, ChatRoom). - Эндпоинты WebSockets: - /ws/chat/{room_id}/ – отправка и получение сообщений. - /ws/notifications/ – уведомления в реальном времени. - Кэширование сообщений в Redis. --- ## 5. Оптимизация и масштабируемость Оптимизация запросов: - Индексация PostgreSQL (GIN, B-Tree). - Использование select_related, prefetch_related для ORM. - Кэширование популярных запросов в Redis. Очереди задач: - Подключение Celery + Redis