Skip to content

planimbly/planimbly

Repository files navigation

Tests

Dokumentacja

Konfiguracja projektu pod Dockerem

  1. Pobierz dockera
  2. Klonujemy repozytorium za pomocą komendy:
$ git clone https://github.com/planimbly/planimbly.git
  1. Pobieramy plik z discorda (#docker) .env i umieszczamy go w utworzonym folderze planimbly
  2. Otwieramy konsolę w folderze planimbly
  3. Budujemy kontenery za pomocą komendy:
$ docker compose up --build
  1. Dodajemy przykładowe dane do bazy za pomocą komend:
$ docker cp ./localfile.sql containername:/container/path/file.sql
$ docker exec -u postgresuser containername psql dbname postgresuser -f /container/path/file.sql

W praktyce komendy mogą wyglądać tak:

$ docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS                   PORTS                    NAMES
bed21bdfd933   planimbly-web   "sh -c 'python manag…"   4 minutes ago   Up 3 minutes             0.0.0.0:8000->8000/tcp   planimbly-web-1
1d225fe762d9   postgres:15     "docker-entrypoint.s…"   4 minutes ago   Up 4 minutes (healthy)   5432/tcp                 planimbly-db-1
$ docker cp ./dev_test_data.sql planimbly-db-1:/docker-entrypoint-initdb.d/data.sql
$ docker exec -u postgres planimbly-db-1 psql postgres postgres -f docker-entrypoint-initdb.d/data.sql

Dane zostały dodane do naszej bazy deweloperskiej. Możemy sprawdzić zawartość tabel za pomocą komendy:

$ docker exec -it planimbly-db-1 psql -U postgres -c "SELECT * FROM organizations_unit;"
  1. za każdym razem startujemy kontenery komendą:
$ docker compose up

wcześniej zapisane przez nas dane nie zostaną usunięte.

  1. w każdej chwili możemy usunąć nasze kontenery oraz volumes poprzez komendę:
$ docker compose down

UWAGA! Po usunięciu kontenerów tracimy wszystkie zapisy bazy danych i trzeba powtórzyć wcześniejszy proces począwszy od kroku 1.

Konfiguracja projektu pod systemem Windows i Linux:

  1. Klonujemy repozytorium za pomocą komendy:
git clone https://github.com/planimbly/planimbly.git
  1. Pobieramy plik z discorda .env oraz db.sqlite3 i umieszczamy je w utworzonym folderze planimbly
  2. Otwieramy konsolę w folderze planimbly
  3. Tworzymy środowisko wirtualne:
python -m venv venv
  1. Przechodzimy do folderu scripts (Windows)
cd venv/Scripts

6a. Aktywujemy środowsko w konsoli (Windows)

activate.bat

6b. Aktywujemy środowsko w konsoli (Linux)

source ./venv/bin/activate
  1. Wychodzimy do planimbly (Windows)
cd ../../
  1. Instalujemy wymagane biblioteki
python -m pip install -r requirements.txt
python -m pip install -r requirements_dev.txt

Uwaga, jeżeli instalujecie jakikolwiek pakiet, musicie dodać go do requirements.txt poprzez komendę: python -m pip freeze > requirements.txt

Konfiguracja Huey:

  1. Instalujemy pakiet redis, huey (jest w reqiurements.txt)
  2. Instalujemy redisa oraz wsl z tego linku https://redis.io/docs/getting-started/installation/install-redis-on-windows/
  3. Włączamy serwer Redis na tym samym porcie
  4. Za każdym razem jak włączamy serwer, w innym terminalu wpisujemy:
python manage.py run_huey

w tym terminalu są logi z wykonywania algorytmu