Система для управления заявками на ремонт, разработанная с использованием Django (бэкенд) и Next.js (фронтенд).
Проект контейнеризирован с использованием Docker и Docker Compose. Структура включает:
- PostgreSQL - Сервер базы данных
- Django - API бэкенда
- Next.js - Фронтенд-приложение
- Nginx - Веб-сервер и обратный прокси
- Docker и Docker Compose, установленные на вашем компьютере
- Git для клонирования репозитория
-
Клонируйте репозиторий:
git clone https://github.com/your-username/fixers.git cd fixers -
Создайте файл
.envв корневой директории со следующими переменными (измените при необходимости):# Настройки базы данных DB_NAME=fixers_db DB_USER=fixers_user DB_PASSWORD=fixers_password DB_HOST=db DB_PORT=5432 # Настройки Django SECRET_KEY=your-secret-key-change-in-production DEBUG=false PRODUCTION=true ALLOWED_HOSTS=localhost,127.0.0.1,backend # Настройки электронной почты EMAIL_HOST_USER=your-email@gmail.com EMAIL_HOST_PASSWORD=your-email-password # Настройки NextAuth NEXTAUTH_URL=http://localhost NEXTAUTH_SECRET=your-nextauth-secret-key-change-in-production -
Создайте файл
.envв директорииfrontend/fixers-appс публичными переменными:NEXT_PUBLIC_BACKEND_URL=http://localhost/api NEXT_PUBLIC_CLIENT_BACKEND_URL=http://localhost/api -
Соберите и запустите контейнеры:
docker-compose up -d --build -
Приложение должно быть доступно по следующим адресам:
- Фронтенд: http://localhost/
- API бэкенда: http://localhost/api/
- Административный интерфейс: http://localhost/admin/
-
Учетные данные администратора по умолчанию:
- Логин: admin
- Пароль: adminpassword
-
Перейдите в директорию бэкенда:
cd backend -
Создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # На Windows: venv\Scripts\activate -
Установите зависимости:
pip install -r requirements.txt -
Выполните миграции:
cd fixers python manage.py migrate -
Запустите сервер разработки:
python manage.py runserver
-
Перейдите в директорию фронтенда:
cd frontend/fixers-app -
Установите зависимости:
npm install -
Запустите сервер разработки:
npm run dev
-
Бэкенд: После внесения изменений в код Django перезапустите контейнер:
docker-compose restart backend -
Фронтенд: После внесения изменений в код Next.js пересоберите контейнер:
docker-compose up -d --build frontend
Для развертывания в продакшн рекомендуется:
- Изменить
SECRET_KEYиNEXTAUTH_SECRETна сильные уникальные значения - Установить
DEBUG=falseв файле.env - Обновить
ALLOWED_HOSTSиNEXTAUTH_URL, включив ваше доменное имя - Настроить корректные параметры электронной почты
- Рассмотреть возможность использования стратегии резервного копирования базы данных