# Niespodziewany POG

<b>Saszka pamiętaj - ty masz inne</b>
### Jakieś podstawowe info
1. Jakieś base klasy
- user
- city
- route
2. Obsługa ofert przewozu/chęci przewozu
- ride_offer
<!-- (wiem że nazwy takie se ale późno jest) -->
3. Ocenki = tabela review
### Schematy
1. user
| id | name | sex | preferences | hobbies | type |
| ------------------ | ------------ | ---------------- | -- |------------- | ---------------- |
| SERIAL PRIMARY KEY | VARCHAR(100) | VARCHAR(3) (TAK/NIE) | VARCHAR(1) |VARCHAR ARRAY | VARCHAR(1) (D/H) |
2. city
| id | name |
| ------------------ | ------------ |
| SERIAL PRIMARY KEY | VARCHAR(100) |
3. route
| id | city_from | city_to | starting_time | ending_time |
| --- | ----------------------- | ----------------------- | ------------- | ----------- |
| SPK | INT REFERENCES city(id) | INT REFERENCES city(id) | TIMESTAMP | TIMESTAMP |
4. ride_offer
| id | user_id | route_id | sits | status |
| --- | ------------------------- | ------------------------ | ---- | ------- |
| SPK | INT REFERENCES "user"(id) | INT REFERENCES route(id) | INT | VARCHAR |
5. review
| id | user_id | comment | stars | status |
| --- | ------------------------- | ------- | ----- | ------- |
| SPK | INT REFERENCES "user"(id) | VARCHAR | INT | VARCHAR |
### Omówienie (może) ważnych spraw
1.1. W tabeli user mamy 2 typy - drajwerrr i ten na h po angielsku z zadania.
1.2. Po co nam płeć? Osoby jadące autostopem mogą mieć preferencję jazdy z kobietą/facetem.
1.3. Po co nam hobby? Można wtedy dopasowywać ludzi po zainteresowaniach co może sprawić jazdę przyjemniejszą
2.1. Chyba giga triv nie trzeba tłumaczyć
3.1. timestampy są po to że jak kierowca jedzie od 15-17 czy coś to żeby to zaznaczyć, dla autostopowicza może to być po prostu null czy coś
6.1. Status jest po to żeby powiedzieć czy opinia jest dla adminów czy dla userów. Nwm można to może dać na 2 tabele, ale o tej porze nie jestem w stanie powiedzieć co jest lepsze
### Inne (chyba) ważne tematy
1. Jaki sposób na ogłaszanie tego? (można zrobić tak że autostopowicze też się mogą ogłaszać czy coś)
Myślę że można zrobić tak, że jak jakiś drajwer ustawia trasę np. Wrocław - Przesieka, to może sobie wybrać czy chce kogoś zabrać po drodze np. Są do wyboru 2 osoby 1. hot laska z #windows-enjoyers i 2. pijany menel <!--który co chwilę chce żeby stanął bo on do kibla musi-->, to sobie może wziąć laskę i cieszyć się życiem, a jeśli nie będzie żadnej baby - wtedy ogłasza, że mógłby kogoś przyjąć. <br>
Ze strony autostopowicza wygląda to podobnie: wybiera trasę i wtedy dzieje się magia, bo jest obliczana trasa i gdy jest policzona - autostopowicz widzi kierowców którzy mogą go zawieść jak najdalej. Ale jeśli każdy kierowca ma tak z 2 promile to chuj, bo niby fajna przygoda ale jednak można nie dojechać, więc się ogłasza że jest chętny
2. Jeśli ktoś wybierze kierowce/hitchcośtam
To wtedy pytamy sie odpowiednio autostopowicza/kierowcy czy chce z nim jechać. Jeśli obie strony tego chcą to gitara i do obu jest wysyłany kod coś jak przy zamawianiu jedzenia/paczki
3. Na koniec jazdy
Wysyłany do obu link z możliwością oceny osoby przeciwnej.
Oceny są widoczne na profilu użytkownika. Razem z jakąś średnią gwiazdek. Średnią gwiazdek i liczbę ocen można też wyświetlać podczas wybierania czy to kierowcy czy autostopowicza.
