Цель проекта -
Развернуть
Языки программирования, библиотеки и модули:
Фреймворк, расширения и библиотеки:
База данных:
CI/CD:
Сервис поддерживает следующие базовые функции:
Главная страница:
- Основная информация для пользовтелей
- Меню для перехода по страницам
- Вывод топовых исполнителей на главной страницей, возможность перейти на их страницу или просмотра всех специалистов
Регистрация:
- Выбор регистрации как пользователь или исполнитель
- Возможность регистрации через Gmail или Vkontakte как пользователь
Личный кабинет:
- Редактирование личной информации
- Настройка уведомлений
- Просмотр оставленных отзывов для фотографов
- Чат с исполнителями
- Удаление аккаунта
Для исполнителей:
- Возможность выбора 5 работ(фото + видео) для предсвления на главной странице
- Чат с клиентами
- Добавление и удаление личных проектов
Просмотр страниц исполнителей:
- Возможность соритровки и фильтрации по специализации, виду съемок, стоимости
- Возможность просматривать 5 проектов каждого исполнителя
Чат с пользователями:
Удобно использовать принцип copy-paste - копировать команды из GitHub Readme и вставлять в командную строку Git Bash или IDE (например VSCode).
Развернуть
Предполагается, что пользователь:
- создал аккаунт DockerHub, если запуск будет производиться на удаленном сервере.
- установил Docker и Docker Compose на локальной машине или на удаленном сервере, где проект будет запускаться в контейнерах. Проверить наличие можно выполнив команды:
docker --version && docker-compose --version
Локальный запуск
- Клонируйте репозиторий с GitHub и в .env-файле введите данные для переменных окружения (значения даны для примера, но их можно оставить; подсказки даны в комментариях):
git clone https://github.com/Prosept-marking/backend.git && \
cd backend && \
cp .env_example .env && \
nano .env
Для работы сервиса необходимо задать значения минимум пяти переменным окружения: POSTGRES_USER
, POSTGRES_PASSWORD
, POSTGRES_DB
, , DB_HOST
, DB_PORT
.
- Запуск - из корневой директории проекта выполните команду:
docker compose up -d --build
Проект будет развернут в четырех docker-контейнерах (db, backend, frontend, nginx) по адресу http://localhost:80
.
- Остановить docker и удалить контейнеры можно командой из корневой директории проекта:
docker compose down
Если также необходимо удалить тома базы данных и статики:
docker compose down -v
Запуск на удаленном сервере
- Создайте
Actions.Secrets
согласно списку ниже (значения указаны для примера) + переменные окружения изenv_example
файла:
# Данные удаленного сервера и ssh-подключения:
HOST # публичный IP-адрес вашего удаленного сервера
USER
SSH_KEY
SSH_PASSPHRASE
# Переменные для работы с PostgreSQL.
POSTGRES_HOST=db
POSTGRES_DB=postgres
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=12345
# Переменные для создания суперюзера.
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_EMAIL=admin@admin.com
DJANGO_SUPERUSER_PASSWORD=admpass
- Запустите вручную
workflow
, чтобы автоматически развернуть проект в четырех docker-контейнерах (db, backend, frontend, nginx) на удаленном сервере.
При первом запуске будут автоматически произведены следующие действия:
- выполнятся миграции БД
- создастся суперюзер (пользователь с правами админа) с учетными данными из переменных окружения
DJANGO_SUPERUSER_USERNAME
,DJANGO_SUPERUSER_EMAIL
,DJANGO_SUPERUSER_PASSWORD
. - соберется статика
Вход в админ-зону осуществляется по адресу: http://hostname
/admin/ , где hostname
:
localhost
- Доменное имя удаленного сервера, например
prosept.hopto.org
Для удаления проекта выполните команду:
cd .. && rm -fr backend