MoiGoroda
Moi Goroda
Это проект для контроля и визуализации посещённых городов России, написанный на языке Python и фреймворке Django.
Работающий пример Вы можете посмотреть на сайте moi-goroda.ru.
Исходный код распространяется под лицензией Apache License 2.0.
💾 Установка
- Скачать репозиторий
git clone https://github.com/Shecspi/MoiGoroda.git && cd MoiGoroda
- Установить необходимую версию Python
if [[ "$(pyenv versions 2> /dev/null)" != *"$(cat .python-version )"* ]]; then pyenv install $(cat .python-version); fi
- Удалить текущее виртуальное окружение (если оно есть), создать новое и устанавить все зависимости. В случае установки для разработки необходимо из последней команды убрать опцию
.--only main
if [ -n $(poetry env info -p) ]; then rm -rf $(poetry env info -p); fi;poetry env use $(cat .python-version);poetry install --only main;
- В папке
скопировать файлMoiGoroga
в.env.example
и указать в нём актуальные настройки.env - Сделать миграции
poetry run python3 manage.py makemigrations && poetry run python3 manage.py migrate
- Создать суперпользователя
poetry run python3 manage.py createsuperuser
- Создать папку для хранения статичных файлов (если её ещё не существует), изменить ей владельца и сделать сборку статичных файлов.
Это необходимо в случае размещения проекта на сервере с настройкой
. В случае локального размещения этот пункт можно пропустить.DEBUG=False
if [ ! -d '/var/www' ]; then sudo mkdir /var/www; fi;sudo chown www:www /var/www;poetry run python3 manage.py collectstatic
- Загрузить изначальные настройки базы данных (федеральные округа, регионы, города)
poetry run python3 manage.py loaddata db.json
- Перезапустить сервер
💣 Тестирование
Для тестирование используются модули
и
. Эти зависимости прописаны в
.
Чтобы запустить тесты выполните команду в корневой директории проекта
poetry run pytest
Планы по развитию проекта
- Добавить возможность отмечать посещённые страны
- На карте и списке городов региона реализовать возможность быстрого отмечания города как посещённого
- Возможность добавлять посещения уже посещённых городов (сейчас можно добавить только 1 посещение города)
- Страница "Настройки"