https://www.jetbrains.com/help/pycharm/poetry.html
- To install all dependencies:
poetry install
This project uses Poetry dependency groups to organize different types of dependencies:
- Main dependencies: Core packages needed for all services (Django, envsh, etc.)
- logicway: Dependencies specific to LogicWay service (SQLAlchemy, Selenium, pandas, etc.)
- route_engine: Dependencies for Route Engine service (routingpy, geopy)
- dev: Development and testing dependencies (pytest, ruff linter, etc.)
Install specific groups:
# Install all dependencies (default)
poetry install
# Install main + specific groups
poetry install --with=logicway,route_engine
# Install only dev dependencies
poetry install --only=devThis project uses a Makefile for common development and deployment tasks:
make run-logicway- Run LogicWay backend server on port 8000make run-route-engine- Run Route Engine backend server on port 8001make run-frontend- Run React frontend development servermake tests- Run pytest tests for backend servicesmake create-key- Generate a new Django SECRET_KEY for env.sh
make start-docker-dev- Start all services with docker-compose (development)make stop-docker-dev- Stop all Docker services (development)make rm-docker-dev- Remove Docker containers (development)make rm-docker-all-dev- Remove containers, images, volumes (development)make run-docker-jobs-dev- Run data upload/load jobs in Docker (development)
make start-docker-prod- Start all services (production)make stop-docker-prod- Stop all services (production)make rm-docker-prod- Remove containers (production)make rm-docker-all-prod- Remove containers, images, volumes (production)make run-docker-jobs-prod- Run data jobs (production)
make start-docker-ghcr- Start services using GHCR imagesmake stop-docker-ghcr- Stop GHCR servicesmake rm-docker-ghcr- Remove GHCR containersmake rm-docker-all-ghcr- Remove GHCR containers, images, volumesmake run-docker-jobs-ghcr- Run data jobs with GHCR images
make help- Show all available commands with descriptionsmake configure- Load environment variables from env.sh
Note: Most Docker commands automatically run make configure to load env.sh variables.
-
Setup environment:
# Create your env.sh file (see template below) cp env.sh.example env.sh # Edit env.sh with your settings # Install dependencies poetry install
-
Development (local):
# Start all services locally make run-logicway # Terminal 1 make run-route-engine # Terminal 2 make run-frontend # Terminal 3 # Or run tests make tests
-
Development (Docker):
# Start all services in Docker make start-docker-dev # Run data import jobs make run-docker-jobs-dev # Stop services make stop-docker-dev