# Backend
- [] **Create missing backend tests (see below)**
- [] ics for registered trips

## New large features
### Logbuch
- Only layout + tests missing :-)
 
### Guest-Scheckbuch
- guest_trip
	- guest_user_id
	- amount_trips
	- paid_to_user_id
- guest_trip_logbook
	- guest_trip_id
	- logbook_id 

### Bootsreservierungen
- Confirmation required?
- How long in advance is it possible?
- Default reservations for some regular events (A+F, USI, ...)?

### Notifications
- notifcations
	- id
	- message
	- category
	- created_at
	- read_at: Option<Datetime>
	- user_id
	- link

### Schnupper-Pipeline
- Mail-Adressen von Interessierten dauerhaft entgegennehmen
- Termin ausgemacht -> Interessierte kontaktieren
- X Personen können teilnehmen (bis zu 3(?) pro Person erlauben (Familie)?)
- Automatisch Bestätigung bei Anmeldung schicken, mit Detail-Infos
- Ein paar Tage vorher Erinnerungs-Mail ausschicken
- Anmeldungen können manuell wieder gelöscht werden
- Es gibt Liste mit aktuellen Anmeldungen

## Backlog (i.e. don't work on this now)
### Sync w/ nextcloud
- remove most fields (names, ...) from users and add uid
- create user_nextcloud table; to be re-created every day(?)

user
- UID
- pw
- last_access

user_details
- UID
- fn (formatted name)
- is_cox (if CATEGORIES = {Steuerleute, Bootsführer})
- is_admin (if CATEGORIES = Admin)
- is_guest (if person not in nextcloud)

### Misc
- [] Don't show events if time > 1h(?) ago
- [] exactly same time -> deny registration
- [] automatically add regular planned trip
- [] same day+time: aggregate stats (x people, of which y cox and z rower)
- [] Lock trip; noone can register anymore
- [] on delete cascade doesn't work; e.g. created planned_event/trip + delete it -> trip_details entry still there!
- [] allow users to add u2f key
- [] Möglichkeiten für Bootseinteilungen bei planned_events anzeigen



# Frontend Process 
´cd frontend´
´npm install´
´npm run (watch/build)´

# Notes / Bugfixes
## Frontend
- [] add UI for `trip_type`
- [] support esc to close sidebar
- [] after an hour(?) of inactivity -> show large popup w/ "maybe old data (ignore) (reload page)" (ignore bc maybe use is actively doing something -> don't throw input away!)


# Nice to have
## Frontend
- [] my trips for cox

# Missing backend tests

- [x] (index) GET /
- [x] (faq) GET /faq
- [x] (cal) GET /cal
- [x] (FileServer: svelte/build) GET /<path..>
- [x] (join) GET /join/<trip_details_id>
- [x] (remove) GET /remove/<trip_details_id>
- [x] (create) POST /cox/trip
- [x] (update) POST /cox/trip/<trip_id>
- [x] (join) GET /cox/join/<planned_event_id>
- [ ] (remove) GET /cox/remove/<planned_event_id>
- [ ] (remove_trip) GET /cox/remove/trip/<trip_id>
- [ ] (index) GET /auth/
- [ ] (login) POST /auth/
- [ ] (logout) GET /auth/logout
- [ ] (updatepw) POST /auth/set-pw
- [ ] (setpw) GET /auth/set-pw/<userid>
- [ ] (rss) GET /admin/rss?<key>
- [ ] (index) GET /admin/user
- [ ] (update) POST /admin/user
- [ ] (create) POST /admin/planned-event
- [ ] (update) PUT /admin/planned-event
- [ ] (create) POST /admin/user/new
- [ ] (delete) GET /admin/user/<user>/delete
- [ ] (resetpw) GET /admin/user/<user>/reset-pw
- [ ] (delete) GET /admin/planned-event/<id>/delete
- [ ] (FileServer: static/) GET /public/<path..> [10]
- [ ] (login) POST /api/login/
- [ ] /tera/admin/boat.rs