Skip to content

hawkxdev/taski-docker

 
 

Repository files navigation

Taski

Приложение для управления задачами (to-do). Backend на Django REST Framework, frontend на React, контейнеризация через Docker.

Стек технологий

Архитектура

Nginx :80 Backend :8000 PostgreSQL :5432

Nginx также раздаёт /staticfiles/ (frontend build + backend static).

Необходимое ПО

Установка и запуск (Docker)

Клонирование

git clone git@github.com:hawkxdev/taski-docker.git
cd taski-docker

Переменные окружения

Создайте файл .env в корне проекта:

POSTGRES_USER=django_user
POSTGRES_PASSWORD=your_password
POSTGRES_DB=django
DB_HOST=db
DB_PORT=5432

Запуск контейнеров

Для локальной разработки:

docker compose up --build -d

Для production:

docker compose -f docker-compose.production.yml up -d

Миграции и статика

docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py collectstatic --no-input

Создание суперпользователя

docker compose exec backend python manage.py createsuperuser

Доступ

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

taski-docker/
├── backend/          # Django-приложение (API + админка)
│   ├── api/          # REST API
│   ├── backend/      # Настройки Django
│   └── Dockerfile
├── frontend/         # React-приложение
│   ├── src/
│   └── Dockerfile
├── gateway/          # Nginx-конфигурация
│   ├── nginx.conf
│   └── Dockerfile
├── docker-compose.yml              # Локальная разработка
├── docker-compose.production.yml   # Production
└── .github/workflows/main.yml      # CI/CD

CI/CD

При пуше в ветку main GitHub Actions автоматически:

  1. Запускает тесты backend (flake8 + Django tests)
  2. Запускает тесты frontend (npm test)
  3. Собирает и пушит Docker-образы на Docker Hub
  4. Деплоит на production-сервер
  5. Отправляет уведомление в Telegram

Автор

hawkxdev

Лицензия

MIT


Проект создан в рамках учебного курса Яндекс Практикум.

About

Трекер задач в Docker. Django + React + PostgreSQL + Nginx + CI/CD

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 43.5%
  • JavaScript 40.4%
  • HTML 9.8%
  • Dockerfile 4.2%
  • CSS 2.1%