A web app to track surfer activity and water conditions at the Eisbach wave in Munich 🌊🏄♂️
This repository contains a frontend (Vue.js), a backend (Go) and a machine learning model (Python).
├── frontend/ → Vue 3 client (Vite) for the web interface
├── go-server/ → Go backend API with PostgreSQL & Flyway
├── ml-model/ → Flask API based on a linear regression model to create a prediction
└── README.md → This file
- Users can view current water levels, temperature, and recent surfer counts.
- Surfer activity predictions based on recent data and water temperature. While the prediction model uses real-life water level, water temperature data and weather data, the amount of surfers per hour of the day was generated random, but following certain rules. The project showcases the potential of forecasting the crowd level based on weather and water conditions combined with user input regarding the amount of surfers.
- Data is collected and stored in a PostgreSQL database (Neon).
- The backend is hosted on Render, the frontend is deployed on GitHub Pages.
Check the respective READMEs for detailed setup and usage instructions:
- Frontend README — Vue.js Client
- Go Backend README — Go API + Database Migrations + Render Deploy
- Ml Model README — Linear Regression Model + Flask API
- Add automatic canary deployments on pull requests
- Deploy PRs to
/canary/{branch-name}on GitHub Pages - Optional: Deploy backend canary to Render preview environment
- Automatically comment preview URL on PR
- Deploy PRs to
MIT — Feel free to use, adapt, and surf responsibly 🏄♀️
Note: The canonical repository is on GitHub · Mirror on GitLab →