An REST API designed to filter RAPLA schedules containing multiple courses by course.
Requirements can be found in the requirements.txt file.
The preferred way of installing rapla-filter is using the docker image
An alternate image including the swagger-ui is available under the dev tag.
This version also does not use gunicorn and should therefore not be used in production environments.
Example docker-compose.yml:
version: "2"
services:
    rapla-filter:
        image: baswag/rapla-filter
        container_name: rapla-filter
        environment:
            - TZ=Europe/Berlin
            - APP_RAPLA_URL=<MAIN_RAPLA_URL>
            - APP_FCM_KEY=<YOUR_FIREBASE_API_KEY>
        ports:
            - 5000:5000
        volumes:
            - rapla-filter-notifications:/app/notifications
        restart: unless-stopped
volumes:
    rapla-filter-notifications:The APP_RAPLA_URL environment variable has to be in the format
http://hostname/rapla?page=ical&user={}&file={}
The Firebase API key can be obtained in the Firebase Console
To build the development docker image simply run docker build .
To build the production docker image use the --target prod option when building
Notifications are handeled via a Firebase Cloud Messaging Service
If connexion is installed with the optional swagger-ui package the swagger UI will be served at localhost:5000/api/ui
uname- The username of the RAPLA schedule creatorplanname- The name of the schedule in RAPLAcourse- The course the schedule should be filtered by
This endpoint returns the unfiltered ICAL string from RAPLA
This endpoint returns the ICAL string from RAPLA filtered by course
This endpoint redirects the user to the notify.run notification sign-up page for the specified plan filtered by course
This endpoint adds or removes a FCM client identified by {token} from the notifications for a course
This endpoint returns a boolean describing whether a FCM client identified by {token} is subscribed to the given notifications