Это проект для контроля и визуализации посещённых городов России, написанный на языке 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
- Перезапустить сервер
Для тестирование используются модули pytest
и pytest-django
. Эти зависимости прописаны в pyproject.toml
.
Чтобы запустить тесты выполните команду в корневой директории проекта
poetry run pytest
- Добавить возможность отмечать посещённые страны
- На карте и списке городов региона реализовать возможность быстрого отмечания города как посещённого
- Возможность добавлять посещения уже посещённых городов (сейчас можно добавить только 1 посещение города)
- Страница "Настройки"