# Backend - [] **Create missing backend tests (see below)** - [] ics for registered trips ## New large features ### Logbuch - Next: add rower to logbook ### 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 - user_id ### 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 # 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 / - [x] (join) GET /join/ - [x] (remove) GET /remove/ - [x] (create) POST /cox/trip - [x] (update) POST /cox/trip/ - [ ] (join) GET /cox/join/ - [ ] (remove) GET /cox/remove/ - [ ] (remove_trip) GET /cox/remove/trip/ - [ ] (index) GET /auth/ - [ ] (login) POST /auth/ - [ ] (logout) GET /auth/logout - [ ] (updatepw) POST /auth/set-pw - [ ] (setpw) GET /auth/set-pw/ - [ ] (rss) GET /admin/rss? - [ ] (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//delete - [ ] (resetpw) GET /admin/user//reset-pw - [ ] (delete) GET /admin/planned-event//delete - [ ] (FileServer: static/) GET /public/ [10] - [ ] (login) POST /api/login/ - [ ] /tera/admin/boat.rs