Skip to content

Commit

Permalink
Merge pull request #119 from cevi/dev
Browse files Browse the repository at this point in the history
Release 3.0.0

- Interactive exports: modify the selected waypoints using points of interest (POI)
- Improved Documentation and Changelog (on this page)
- combine all maps in a single PDF file
- Bug fixes
- Dependency updates
  • Loading branch information
wp99cp authored Dec 5, 2022
2 parents 6c1e6ba + 3d0c5bd commit ab52097
Show file tree
Hide file tree
Showing 218 changed files with 39,787 additions and 18,180 deletions.
6 changes: 3 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
*

# Allow files and directories
!webinterface
!frontend
!.git/HEAD
!.git/refs/heads/*
!.env.*

# Folders to ignore
webinterface/node_modules/*
webinterface/src/build.ts
frontend/node_modules
9 changes: 9 additions & 0 deletions .env.ci-testing
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Configuration for the angular application: development or production
ANGULAR_BUILD_MODE=dev
BACKEND_DOMAIN=http://awt-backend:5000
DOCS_DOMAIN=http://awt-docs:4000
FRONTEND_DOMAIN=http://awt-frontend

# Configures the logging level for the backend
# valid values are DEBUG, INFO, WARNING, ERROR or CRITICAL
LOG_LEVEL=INFO
9 changes: 9 additions & 0 deletions .env.local-dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Configuration for the angular application: development or production
ANGULAR_BUILD_MODE=dev
BACKEND_DOMAIN=http://localhost:5000
DOCS_DOMAIN=http://localhost:4000
FRONTEND_DOMAIN=http://localhost

# Configures the logging level for the backend
# valid values are DEBUG, INFO, WARNING, ERROR or CRITICAL
LOG_LEVEL=DEBUG
9 changes: 9 additions & 0 deletions .env.prod-dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Configuration for the angular application: development or production
ANGULAR_BUILD_MODE=dev
BACKEND_DOMAIN=https://backend.dev.map.cevi.tools/
DOCS_DOMAIN=http://docs.dev.map.cevi.tools
FRONTEND_DOMAIN=https://dev.map.cevi.tools

# Configures the logging level for the backend
# valid values are DEBUG, INFO, WARNING, ERROR or CRITICAL
LOG_LEVEL=INFO
9 changes: 9 additions & 0 deletions .env.prod-latest
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Configuration for the angular application: development or production
ANGULAR_BUILD_MODE=production
BACKEND_DOMAIN=https://backend.map.cevi.tools
DOCS_DOMAIN=http://docs.map.cevi.tools
FRONTEND_DOMAIN=https://map.cevi.tools

# Configures the logging level for the backend
# valid values are DEBUG, INFO, WARNING, ERROR or CRITICAL
LOG_LEVEL=INFO
23 changes: 23 additions & 0 deletions .github/workflows/cypress.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: End2End Testing with Cypress
on:
push:
{}

jobs:
test:
runs-on: ubuntu-latest
steps:
# Checkout the source code
- name: 🛎️ Checkout
uses: actions/checkout@v2

# Restores the cache if it exists.
- name: ⛏ Restore docker image from cache
uses: satackey/[email protected]
continue-on-error: true

- name: 🏗️ Build the stack
run: docker-compose -f docker-compose.yml -f docker-compose.ci-testing.yml build

- name: 🚀 Run cypress (e2e tests)
run: docker-compose -f docker-compose.yml -f docker-compose.ci-testing.yml up --exit-code-from awt-cypress
20 changes: 14 additions & 6 deletions .github/workflows/dev_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,25 @@ jobs:
devBuild:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Login to Docker Hub
# Checkout the source code
- name: 🛎️ Checkout
uses: actions/checkout@v2

# Restores the cache if it exists.
- name: ⛏ Restore docker image from cache
uses: satackey/[email protected]
continue-on-error: true

- name: 🔐 Login to Docker Hub
uses: docker/login-action@v2
with:
registry: registry.cevi.tools
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build the stack
run: docker-compose -f docker-compose.yml -f docker-compose.dev-build.yml build
- name: 🏗️ Build the stack
run: docker-compose -f docker-compose.yml -f docker-compose.prod-dev.yml build

- name: Push containers to registry
run: docker-compose -f docker-compose.yml -f docker-compose.dev-build.yml push
- name: 🚀 Push containers to registry
run: docker-compose -f docker-compose.yml -f docker-compose.prod-dev.yml push
20 changes: 14 additions & 6 deletions .github/workflows/prod_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,25 @@ jobs:
prodBuild:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Login to Docker Hub
# Checkout the source code
- name: 🛎️ Checkout
uses: actions/checkout@v2

# Restores the cache if it exists.
- name: ⛏ Restore docker image from cache
uses: satackey/[email protected]
continue-on-error: true

- name: 🔐 Login to Docker Hub
uses: docker/login-action@v2
with:
registry: registry.cevi.tools
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build the stack
run: docker-compose --env-file prod.env build
- name: 🏗️ Build the stack
run: docker-compose -f docker-compose.yml -f docker-compose.prod-latest.yml build

- name: Push containers to registry
run: docker-compose push
- name: 🚀 Push containers to registry
run: docker-compose -f docker-compose.yml -f docker-compose.prod-latest.yml push
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
python_program/.idea
backend/.idea
.idea
swiss_TLM_api/map_snipped.png
swiss_TLM_api/index_cache/index_cache.tar.xz
51 changes: 0 additions & 51 deletions GetStarted.md

This file was deleted.

44 changes: 25 additions & 19 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Claim Image](imgs/Claim.png)
![Claim Image](docs/imgs/Claim.png)

# J+S-Marschzeittabellen automatisiert generieren

Expand All @@ -10,12 +10,12 @@ Velo-Tour zu automatisieren und zu beschleunigen.
Heute gibt es bereits verschiedenste Online-Tool, die J+S-Leiter*innen und Wanderfreudigen das Planen einer Wanderung
erleichtern:

- Die kostenpflichtige Online-Karte von SchweizMobil. SchweizMobil ist Dank den magnetischen Wegen (d.h. die
- Die kostenpflichtige Online-Karte von SchweizMobil. SchweizMobil ist Dank der magnetischen Wege (d.h. die
eingezeichnete Route folgt automatisch dem Wanderweg/der Strasse) und der Zeitberechnung (gemäss der Formel der
Schweizer Wanderwege) bereits eine grosse Hilfe beim Planen.

- Für mobile Endgeräte eignet sich ebenfalls die offizielle App des Bundesamts für Landestopografie swisstopo. Analog
zur App SchweizMobil, bietet auch die swisstopo App eine Funktion zur Routenplanung mit magnetischen Wegen.
zur App SchweizMobil bietet auch die swisstopo App eine Funktion zur Routenplanung mit magnetischen Wegen.

Ist man mit einer grösseren Gruppe unterwegs (so zum Beispiel in einem J+S-Lager), ist eine ausführliche Planung
unumgänglich. Doch genau in diesen Szenarien stossen die existierenden Tools an ihr Grenzen. Dieses Projekt setzt genau
Expand All @@ -28,16 +28,20 @@ für einen durchschnittlichen Wanderer eine geeignete Approximation an die tats
einer Gruppe unterwegs ist, die wohl möglich noch viel Gepäck trägt, möchte die Marschgeschwindigkeit manuell
anpassen (siehe auch J+S-Broschüre Berg).

## Umfang dieses Projektes
## Umfang dieses Projektes - Roadmap

In einem ersten Schritt ist es mein Ziel, das Generieren einer Marschzeittabelle (anhand der Excel-Vorlage von
Jugend+Sport) zu automatisieren. Eine aus SchweizMobil exportierte Route (bzw. ein beliebiges GPX-File) dient dabei als
Grundlage.
- [x] In einem ersten Schritt ist es unser Ziel, das Generieren einer Marschzeittabelle (anhand der Excel-Vorlage von
Jugend+Sport) zu automatisieren. Eine aus SchweizMobil oder der Swisstopo App exportierte Route (bzw. ein beliebiges
GPX-File) dient dabei als Grundlage.
- [x] In einem nächsten Schritt soll es möglich sein, die gewählten Punkte auf der einer interaktiven Karte zu
visualisieren und bei Bedarf zu verschieben.
- [ ] Das Zeichnen neuer Routen soll direkt in unserem Webinterface möglich sein (damit entfällt der GPX-Export). Herzu
werden magnetische Wege verwendet. D.h. die Route soll dabei automatisch an den nächsten Weg angepasst werden.

Weitere Funktionalitäten sind in Planung und können gerne auch per Enhancement-Issue besprochen werden.
Weitere Funktionalitäten können gerne auch per Enhancement-Issue gewünscht werden.

**Wichtig:** Die manuelle Planung bleibt ein grundlegender Bestandteil der Vorbereitung auf eine Wanderung. Dieses
Projekt zielt lediglich auf die Beschleunigung mechanische, sich wiederholender Prozesse wie die Erstellung einer
Projekt zielt lediglich auf die Beschleunigung mechanischer, sich wiederholender Prozesse wie die Erstellung einer
Marschzeittabelle auf der Grundlage einer bestehenden Route. Dabei wird das sorgfältige Planen und Durchdenken einer
Aktivität in keinerlei Hinsicht ersetzt!

Expand All @@ -55,24 +59,26 @@ The aim of this project is to automate and speed up the process of creating a J+
tour. There are already some tools that provide valuable support for planning. Nevertheless, they are not suitable for
planning a hike with larger groups, such as in a J+S-camp.

In a first step, my goal is to automate the generation of a walk-time table (using the Excel template from Jugend+Sport)
. The walk-table is generated based on an GPX file (for example exported from SchweizMobil or from the swisstopo app
). A python script then generates an Excel file and a map of the route for further
manually planning by the J+S-leader.
The goal of this project is to provide a tool that is suitable for planning hikes with larger groups. This is realised
with an interactive map that allows to plan a route and to adjust the walk-time table accordingly. All based on an easy
to user web interface.

In the end the user should be able to create a walk-time table for a hike with a few clicks and export it as a PDF as
well as an Excel file containing the walk-time table based on the J+S template.

**Important:** Manual planning remains a fundamental part of preparing for a hike. This project only aims to speed up
mechanical, repetitive processes like creating a walk-time table based on an existing route. This programm is no
substitute for careful planning.

## Run it Locally and Start Developing
## Run it locally and Start Developing

You can run the application locally with just one command. Now you can open `localhost` in your web browser. For more
information read the [get started guide](/GetStarted.md).
You can run the application locally using just one command.

```bash
$ docker-compose up [--build]
```
docker-compose up [--build]
```

*Note:* `--build` is optional and forces docker to rebuild the containers.


Simply take a look at the documentation [Getting Started](https://docs.map.cevi.tools/). The docs can also be accessed
from your local build by visiting `localhost:4000` (once the containers are running).
2 changes: 2 additions & 0 deletions backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
input
output
File renamed without changes.
6 changes: 4 additions & 2 deletions python_program/Dockerfile → backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
FROM python:3.9
FROM python:3.11.0-slim

ENV PIP_ROOT_USER_ACTION=ignore

WORKDIR /app

Expand All @@ -13,7 +15,7 @@ COPY . /app

EXPOSE 5000

ENV PRINT_API_BASE_URL=awt-mapfish
ENV PRINT_API_BASE_URL=awt-mapfish-print-server

# Entrypoint
CMD gunicorn --bind :5000 --workers 1 --threads 2 --timeout 60 app:app
Loading

0 comments on commit ab52097

Please sign in to comment.