diff --git a/doc/db/README.md b/doc/db/README.md index ca909b1..cdbcdcc 100644 --- a/doc/db/README.md +++ b/doc/db/README.md @@ -14,12 +14,14 @@ Thus, here is the current (October '24) model and the reasoning behind it: ![](./planned.svg) There are 2 main types: + 1. **Trips:** Trips can be created by every cox. They are "simple", every-day trips. 2. **Events:** Events can be created by everyone who has the `manage_events` role. They are used if multiple coxes are needed, e.g. for "Fetzenfahrt", "Anrudern", .... Additionally, events are shown in public calendar (e.g. on the website). `TripDetails` extracts the common data for both Trips and Events. Rower can register using the `UserTrip` table. This table expects either... + - a `user_id`, if a person who has an account registers to the trip/event - a `user_note`, if the cox of a trip, or a `manage_events` user of an event wants to add a guest which has no account @@ -28,6 +30,7 @@ This table expects either... If `arrival` is NULL, the boat is assumed to still be on the water. There are a few `LogbookType`s: + - `Wanderfahrt`: Used to check if a user has accomplished their `Fahrtenabzeichen` in the current year. - `Regatta` @@ -43,6 +46,7 @@ If the number of users entered is less than the boat's maximum capacity, the rem ![](./fetching.svg) This tables are used to automatically fetch data (every hour). Currently we have: + - `Waterlevel` which fetches the current waterlevel in Linz from hydro (with their explicit permission :-)) - `Weather` weather data from *Open Weather*