# Backend - [] **Create missing backend tests (see below)** - [] ics for registered trips ## New large features ### Logbuch - Log with activities #### Tables - boats - id - name - amount_seats - session - id - ship_master (Schiffsführer) - ship_master_only_steered (default: false) - departure (Datetime) - Option (Datetime) // None -> on water - destination - Option (prefilled from destination) - comments - type (normal, Wanderfahrt) - rowers - session_id - user_id - damages - boat_id - desc - user_id_created - created_at - user_id_fixed - fixed_at - lock_boat (default: false), if true: noone can use this boat ### Guest-Scheckbuch - guest_trip - guest_user_id - amount_trips - paid_to_user_id - guest_trip_session - guest_trip_id - session_id ### Bootsreservierungen - Confirmation required? - How long in advance is it possible? - Default reservations for some regular events (A+F, USI, ...)? ## 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 - [ ] (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/