diff --git a/Docs/img/mockup.png b/Docs/img/mockup.png new file mode 100644 index 0000000..df946cd Binary files /dev/null and b/Docs/img/mockup.png differ diff --git a/Docs/kravspec.md b/Docs/kravspec.md index 97071f7..74d397b 100644 --- a/Docs/kravspec.md +++ b/Docs/kravspec.md @@ -1,3 +1,90 @@ # Kravspecifikation -Som udviklere skal I lave en kravspecifikation som løser jeres kundes case! For eksempler se her - [Notion](https://mercantec.notion.site/Casebeskrivelse-og-Kravspec-60eb806216074896ae1b3c7f14d9b2b6?pvs=4) +## App + +En login- og registeringsskærm implementeres. De kalder op mod backenden. Når logget ind, får brugeren en token som bruges i fremtidige API-kald. + +Der skal være en brugerprofil-side hvor man kan se og ændre profilbillede, land, email. Man skal også kunne se liste over favoritter og anmeldelser. + +Et kort embeddes ind i appen vha. OSM/Google Maps. Her henter appen en liste over anmeldelser fra alle brugere samt brugerens egne favoritsteder fra backenden og viser dem på kortet. + +Der er en knap til at tilføje en anmeldelse. Denne åbner en ny skærm eller popup, hvor brugeren kan vælge antal stjerner samt uploade evt. billeder. Når denne anmeldelse er indsendt, bliver den vist for de andre brugere ved personens nuværende lokation. + +Der er en knap til at tilføje favorit. Enten nuværende lokation bruges, eller der klikkes et sted på kortet. Koordinaterne bliver sendt til backenden. + +Vi har tænkt os at lave en sidebar som menu hvor man kan logge ind. Den menu skal også blive brugt til at navigere hen til en liste over brugerens favorit aktiviteter og yndlingssteder. + +Homepage kommer til at være mappet hvor du også får en chan + +## Database + +users: id, username, password, email, profile_image_id, created_at, updated_at + +sessions: id, user_id, token, expires_at + +favorites: id, user_id, lat, lng + +images: id, user_id, image_path + +reviews: id, user_id, lat, lng, rating + +review_images: review_id, image_id + +## API + +POST /users/create + +POST /users/login + +PUT /user + +POST /favorites + +GET /favorites + +DELETE/favourites + +POST /reviews + +GET /reviews + +GET /activities + +![Mockup](img/mockup.png) + +Logoet et sted på den grå skærm. De 2 firkanter skal merges(Kunne bare ikke lave det i paint) mockup kan ændres + +"Vi vil udvikle en TuristApp for SkanTravles, som gør brug af telefonens sensorer. Vores mål er at skabe en applikation, der viser et kort eller bruge en søgefunktion til at finde interessante steder og aktiviteter rundt i verden, ved at integrere funktionalitet, der udnytter data indsamlet fra telefonens sensorer. + +For at opnå dette, tænker vi at anvende følgende Teknologier: + +- Flutter til selve appen (Frontend) + +- ASP.NET Core Web Api (Backend) + +- Entity Framework (Backend to Database Tool) + +- SQL database (Database) + +Appen vil kunne Bruge Web API’en til at snakke sammen med brugerdata, samt en extern API til at få fat i Aktuelt data fra verdenen der skal ind i kortet, ved at gøre brug af sensorer som GeoLokation for at finde brugerens præcise lokation. + +Vores applikation vil have følgende funktioner: + +- Brugeroprettelse: Brugerne skal kunne oprette profiler med, brugernavn, adgangskode, profilbillede, land, navn og mail samt + +Brugeren ville også have mulighed for at lave anmeldelser og favoritte aktiviteter og steder i verden. + +- Sensorintegration: Appen vil bruge GeoLokation for at finde brugeren præcise lokation som vi kan bruge til at vise steder og aktiviteter i nærheden. + +Brugeren vil have mulighed for at selv bestemme hvor stor en radius af aktiviteter og steder der skal vises rundt om dem. + +- SideBAR: En interaktivt sidebar, man kan bruge til at logge ind og ud fra, og se ens egne favorit steder og aktiviteter. + +- SøgeFelt: Et søgefelt til at finde andre aktiviteter og steder i verden der ikke er rundt omkring brugeren + +- TuristGuides: Der ville blive anbefalet turistguides til det valgte område man sidder og kigger på. + +- Kunden vil blive involveret i projektarbejdet med regelmæssige møder for at sikre, at vi opfylder deres behov og forventninger. Vi vil også overveje at integrere ekstra funktioner som en fin homepage og favorit af turistguides afhængig af projektets fremdrift og tidsplan. + +Dette projekt vil give os praktisk erfaring med de overstående teknologier, og give os mulighed for at udforske, hvordan teknologi kan anvendes til at løse reelle problemer eller forbedre dagligdagen." + diff --git a/README.md b/README.md index 0575deb..6c2c04c 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,8 @@ [![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/nlVhM163) # H4 -H4 Projekt skabelon - Flutter og .NET API +Vi vil udvikle en TuristApp for SkanTravles, som gør brug af telefonens sensorer. Vores mål er at skabe en applikation, der viser et kort eller bruge en søgefunktion til at finde interessante steder og aktiviteter rundt i verden, ved at integrere funktionalitet, der udnytter data indsamlet fra telefonens sensorer. -## Mappe struktur +[Kravspecifikation](Docs/kravspec.md) -Der er 3 mapper i jeres projekt, I skal være velkommende til at tilføje flere som I finder det nødvendigt! - -#### Docs - -Her skal alt dokumentation være, der er noget documentation vi beder jer om at lave, men der er nok også flere dokumenter. Dem vi gerne skal have herinde er: - -1. Casebeskrivelse fra jeres kunde - gerne som PDF -2. Kravspecifikation som I som gruppe har udarbejde ud fra kundens casebeskrivelse - -#### API - -I skal bygge en backend, altså en API, som jeres mobilapplikation skal kontakte. Vi anbefaler og underviser i .NET, hvis I har erfaring med at bygge en API i et andet sprog eller framework, kan der gives tilladelse til at erstatte det med den! - -#### Mobile - -Her er jeres Flutter applikation, vi anbefaler og underviser i Flutter og Dart, hvis I har erfaring med et andet framework såsom Kotlin, Swift, MAUI eller React Native kan der gives tilladelse til at bruge det i stedet! - -# Hosting - Cloud - -Vi anbefaler [Render.com](https://render.com/) til at hoste jeres API samt Flutter for web. Med Flutter kan vi selvfølgelig også hente det ned på en Android eller IOS enhed! Man kan se Swagger UI'et på Render her - [API på Render](https://h4api.onrender.com/swagger/index.html) - -Alternativt til Render kan vi også bruge [Netlify](https://netlify.app/) til at hoste Flutter applikation uden downtime - Man kan se applikationen her - [Netlify Flutter](https://h4flutter.netlify.app/) - -Til database bruger vi enten [Neon](Neon.tech) eller [Supabase](https://supabase.com) som begge tilbyder en gratis version af Postgres! +[Logbog](Docs/SCRUM%20Logbog.md)