Клиент-серверное приложение, разработанное в рамках курсовой работы по дисциплине "Разработка клиент-серверных приложений". В приложении можно посмотреть список писем, перейти на страницу с письмом, переместить письмо в спам или в корзину, изменить статус "прочитано" и отправить письмо.
Установить Docker, используя инструкции с официального сайта:
- для Windows и MacOS
- для Linux. Отдельно потребуется установть Docker Compose
- Клонируйте репозиторий с проектом на свой компьютер. В терминале из рабочей директории выполните команду:
git clone https://github.com/BikMag/mail_service.git- Перейти в папку с бэкендом
cd mail_service/backend- Установить и активировать виртуальное окружение
source /venv/bin/activate- Установить зависимости из файла requirements.txt
python -m pip install --upgrade pip
pip install -r requirements.txt- Создать файл .env в папке проекта:
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_NAME=postgres
DB_HOST=db
DB_PORT=5432
DEBUG=False
SECRET_KEY=django-insecure-...- В папке proxy выполнить команду для запуска контейнера в фоновом режиме:
docker-compose up -d --build- В результате должны быть собрано три контейнера (контейнер с фронтендом собирает статику и выключается), при введении следующей команды получаем список запущенных контейнеров:
docker-compose ps| NAMES | IMAGES | DESCRIPTIONS |
|---|---|---|
| mailservice-proxy | nginx:1.25.4-alpine | контейнер веб-сервера |
| mailservice-db | postgres:13.10 | контейнер базы данных |
| mailservice-back | proxy-backend:latest | контейнер приложения Django |
| mailservice-front | proxy-frontend:latest | контейнер приложения React |
- Выполнить миграции:
docker-compose exec backend manage.py migrate- Собрать статику и перенести ее в папку static:
docker-compose exec backend python manage.py collectstatic
docker-compose exec backend cp -r /app/collected_static/. /static/static/- Создать нового супер пользователя
python manage.py createsuperuser| Адрес | Описание |
|---|---|
| localhost | Главная страница |
| localhost/admin/ | Для входа в панель администратора |
| localhost/api/docs/ | Описание работы API |
