Softwarearkitektur - Miniprojekt i Web API + EF

Version 1.0

Indhold

Projektmål

Formålet med dette projekt er at implementeret en simpel kopi af Reddit. Brugere er i stand til at oprette nye tråde, som enten er en URL (et link) eller et stykke tekst, og andre brugere kan efterfølgende kommenterer på disse tråde. Både til trådene og kommentarerne kan brugere tilføje deres stemmer (upvote eller downvote), således at hvert spørgsmål eller svar har et antal positive eller negative stemmer.

Læringsmål

Formålet med dette projekt er at anvende og få praktisk erfaring med teknologier og softwarearkitekturprincipper fra faget Softwarearkitektur.

Funktionelle krav

Forsiden: Her vises en liste af de 50 nyeste tråde, sorteret efter dato. Herfra kan man klikke på de enkelte tråde og bliver ført over på en tråd-specifik side (beskrevet nedenfor).

Tråd-siden: Denne side viser en bestemt tråd. Hvis tråden er oprettet som tekst, vises teksten, ellers vises URL’en som tråden er oprettet med.

Derudover vises der metadata, så som:

Under metadata vises alle kommentarerne. Hver kommentar består af:

Nederst på samme side er der en form, hvor det er muligt at skrive en ny kommentar på tråden.

Ny tråd-siden: På denne side kan man oprette en ny tråd. En tråd oprettes med en overskrift, og enten noget tekst eller en URL. Forfatternavnet skal også angives.

Generelt: Alle sider bør have et link tilbage til forsiden, så brugeren nemt kan navigere rundt i app’en.

Begrænsninger

Der er følgende begrænsninger i projektet:

Frivillige udvidelser

Hvis I har lyst, må I godt forsøge at løse nogen af begrænsninger nævnt i forrige afsnit, men vær dog opmærksom på, at det ligger udenfor hvad der forventes at I kan nå i dette projekt. Lav det grundlæggende først, og vurdér herefter om der er tid til mere.

Tekniske krav

Teknologi og arkitektur

Projektet skal baserer sig på følgende teknologier:

Deployment

Det er ikke et krav at projektet skal deployes på internettet, men man må gerne (kunne fx være på Azure App Service og Azure Database for PostgreSQL).

Projektet skal kunne bygges og køres med følgende kommandoer:

$ dotnet build
$ dotnet ef database update
$ dotnet run

Hvis projektet fejler disse trin, kan det ikke godkendes.

Det er et krav, at der oprettes testdata når programmet starter, hvis der ikke allerede findes data i databasen.

Formelle krav

Projektarbejde

Projektet udvikles i grupper af 1-3 studerende. Det er tilladt at dele kode og hjælpe hinanden, men alle bør tage ansvar for egen læring. Man bestemmer selv hvem man går i gruppe med.

Tidsplan

Se semesterplanen.

Aflevering

Koden skal afleveres som et link til et GitHub repositorie der indeholder alt koden. Projektet afleveres igennem Canvas. Angiv tydeligt hvem der har lavet projektet, dvs. hvem man er i gruppe med.

Godkendelse

Godkendelse af projektet sker ud fra en vurdering af om de beskrevne krav er opfyldt.