Skip to content

Shecspi/MoiGoroda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moi Goroda

Это проект для контроля и визуализации посещённых городов России, написанный на языке Python и фреймворке Django.
Работающий пример Вы можете посмотреть на сайте moi-goroda.ru.
Исходный код распространяется под лицензией Apache License 2.0.

Python 3.12 Poetry 1.8 Pyenv Pytest 7.4 Django 4.2 Bootstrap 5.3 Apache License 2.0

💾 Установка

  1. Скачать репозиторий
git clone https://github.com/Shecspi/MoiGoroda.git && cd MoiGoroda
  1. Установить необходимую версию Python
if [[ "$(pyenv versions 2> /dev/null)" != *"$(cat .python-version )"* ]]; then pyenv install $(cat .python-version); fi
  1. Удалить текущее виртуальное окружение (если оно есть), создать новое и устанавить все зависимости. В случае установки для разработки необходимо из последней команды убрать опцию --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;
  1. В папке MoiGoroga скопировать файл .env.example в .env и указать в нём актуальные настройки
  2. Сделать миграции
poetry run python3 manage.py makemigrations && poetry run python3 manage.py migrate
  1. Создать суперпользователя
poetry run python3 manage.py createsuperuser
  1. Создать папку для хранения статичных файлов (если её ещё не существует), изменить ей владельца и сделать сборку статичных файлов. Это необходимо в случае размещения проекта на сервере с настройкой DEBUG=False. В случае локального размещения этот пункт можно пропустить.
if [ ! -d '/var/www' ]; then sudo mkdir /var/www; fi;
sudo chown www:www /var/www;
poetry run python3 manage.py collectstatic
  1. Загрузить изначальные настройки базы данных (федеральные округа, регионы, города)
poetry run python3 manage.py loaddata db.json
  1. Перезапустить сервер

💣 Тестирование

Для тестирование используются модули pytest и pytest-django. Эти зависимости прописаны в pyproject.toml.
Чтобы запустить тесты выполните команду в корневой директории проекта

poetry run pytest

Планы по развитию проекта

  • Добавить возможность отмечать посещённые страны
  • На карте и списке городов региона реализовать возможность быстрого отмечания города как посещённого
  • Возможность добавлять посещения уже посещённых городов (сейчас можно добавить только 1 посещение города)
  • Страница "Настройки"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published