Unified API for Schulnetz, simplifying data access with dynamic routing.
Important
This project is NOT affiliated with, endorsed by, or connected to Schulnetz or Centerboard AG in any way. This is an independent, unofficial API wrapper that provides a unified interface to interact with their existing systems.
SchulwareAPI is a unified API designed for Schulnetz systems, simplifying data access through dynamic routing. It allows access to data via mobile REST or web scraping and includes interactive Swagger UI for automatic documentation, making API understanding easier.
- Unified API: Access data via mobile REST or web scraping, optimized for each endpoint.
- Auto-Docs: Interactive Swagger UI and
openapi.jsonfor easy API understanding. - Docker Ready: Simple, containerized deployment.
This API has been tested on:
- bbbaden
kanti baden(Still implementing php scraper)
Schulnetz systems.
API will be live at:
- Swagger Docs: http://localhost:8000/
You can run SchulwareAPI easily using Docker or pull prebuilt images from public registries.
You can also use the provided compose.yml for local development or deployment. Make sure to set up your .env file with the required environment variables.
docker compose up -d1. Create a compose.yml file:
Use your favorite editor to create a compose.yml file and paste this into it:
services:
schulware-api:
image: pianonic/schulwareapi:latest # Uses the image from Docker Hub
# image: ghcr.io/pianonic/schulwareapi:latest # Uses the image from GitHub Container Registry
ports:
- "8000:8000"
environment:
- PYTHONUNBUFFERED=1
- SCHULNETZ_API_BASE_URL=${SCHULNETZ_API_BASE_URL}
- SCHULNETZ_WEB_BASE_URL=${SCHULNETZ_WEB_BASE_URL}
- SCHULNETZ_CLIENT_ID=${SCHULNETZ_CLIENT_ID}
env_file:
- .env
restart: unless-stopped
init: true # Recommended to avoid zombie processes
ipc: host # Recommended for Chromium to avoid memory crashes2. Start it:
docker compose up -dThe API will be available at http://localhost:8000.
This project is licensed under the MIT License. See LICENSE for details.
Made with ❤️ by PianoNic
