44 lines
1 KiB
Markdown
44 lines
1 KiB
Markdown
# Snauw Counter
|
|
|
|
Een mobile-first webapplicatie om snauwgedrag bij te houden.
|
|
|
|
## Features
|
|
- Incident registratie met ernstscore (1-10)
|
|
- Statistieken en trends
|
|
- Ondersteuning voor anonieme en geregistreerde gebruikers
|
|
- Mobile-first responsive design
|
|
- GDPR/AVG compliant
|
|
|
|
## Tech Stack
|
|
- Backend: Flask (Python)
|
|
- Database: SQLite/PostgreSQL
|
|
- Frontend: HTML5, CSS3, JavaScript
|
|
- Visualisaties: Chart.js
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
python run.py
|
|
```
|
|
|
|
## Architectuur
|
|
|
|
### Database Schema
|
|
- Users (id, email, password_hash, created_at)
|
|
- Incidents (id, user_id, timestamp, severity, notes, created_at)
|
|
|
|
### API Endpoints
|
|
- GET / - Homepage
|
|
- POST /incident - Nieuwe incident registratie
|
|
- GET /statistics - Statistieken pagina
|
|
- POST /register - Gebruiker registratie
|
|
- POST /login - Inloggen
|
|
- POST /logout - Uitloggen
|
|
- POST /migrate - Data migratie van anonymous naar registered
|
|
|
|
### Frontend Components
|
|
- Incident form (snelle invoer)
|
|
- Statistics dashboard
|
|
- User authentication
|
|
- Anonymous user support met localStorage
|