Skip to content

korey-h/ReadyToGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReadyToGo

Описание

Здесь создается инструмент для сбора заявок на соревнования и иные мероприятия, на которых для идентификации участника используется его стартовый номер. Данный сервис позволит авторизованным пользователя создавать форму регистрации на гонку, определять категории участников гонки, задавать диапазоны стартовых номеров, доступных в каждой категории при регистрации. Любой неавторизованный пользователь сможет оставить заявку на участие, а также просмотреть список участников, уже зарегистрировавшихся на гонку.

Этот инструмент разрабатывается с целью реального использования на практике, поскольку автор входит в команду организаторов любительских соревнований по маунтинбайку.

Технологии

django 3.0.5 REST API python 3.8 docker 3.8 postgresql 12.4 Gunicorn 20.0.4

Планы и стадии разработки

Программа-максимум включает в себя следующие стадии:

  1. Создание моделей, написание алгоритмов проверки полей модели, настройка админки django.
  2. Разработка html-форм для создания форм регистрации на гонки, настройки категорий участников и html-форм для подачи заявок на участие.
  3. Написание моделей пользователей с разграничением прав (админ, модератор, гость) и страницы регистрации.
  4. Написание тестов (django unittest).[частично выполнено]
  5. Написание API для регистрации на гонку, просмотра списка участников гонки и иной информации о гонке [см. openapi-schema.yml].
  6. Написание telegramm-бота для реализации функционала API из пункта 5.[выполнено]
  7. Развертывание проекта на сервере при помощи Docker [выполнено] и автоматизация этого процесса посредством Git Actions [в планах].
  8. [Текущая стадия] >>>Оформление описания функционала сервиса и инструкции по развертыванию.<<<

Инструкция по развертыванию

  1. Перед развертыванием на сервере должны быть установлены: docker, git, nginx. В процессе развертывания потребуется еще установка certbot. Для сайта должно быть приобретено доменное имя.
    Соединение с сайтом будет осуществляться по https. За установку и обновление сертификатов будет отвечать (certbot), а для его работы как раз и требуется наличие nginx непосредственно на сервере.
    Серверный nginx будет настроен на перенаправление запросов на nginx, запущенный в докер-контейнере в связке с движком сайта.

После клонирования репозитория на сервер необходимо в файлах .conf в папке infra закомментировать "#" отдельные строки, которые обозначены внутри этих файлах соответствующими комментариями.

About

инструмент для сбора заявок на соревнования

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published