121 lines
3.3 KiB
Markdown
121 lines
3.3 KiB
Markdown
# 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
|
||
- confirmed_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
|
||
|
||
### Ergochallenge
|
||
- Bilder + Dateneingabe
|
||
- Automatische Mail senden
|
||
|
||
## 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
|