← Område 3 Lektion 15–16 · Välj din domän Kraven

Webbserverprogrammering 1 · område 3 · lektion 15–16

Välj din domän

Fram till nu har du övat på en engångsklass som hette Produkt. Nu bestämmer du vad ditt projekt handlar om på riktigt. Valet bär du till och med område 8 – genom komponenter, tjänster, databas, CRUD, inloggning, säkerhetsgranskning och driftsättning.

1. Varför nu

Valet ligger här och inte tidigare av två skäl.

Det första är att du nu vet tillräckligt för att kunna välja. Efter område 2 vet du vad en klass är, vad en lista med objekt gör och vad du faktiskt orkar skriva kod för. Ett val i augusti hade varit en gissning.

Det andra är att område 3 är sista tillfället då bytet är gratis. Här finns bara en hårdkodad lista att skriva om. I område 5 finns en databas, migrationer och formulär som hänger på entiteten – att byta domän där kostar en vecka.

Domänen får inte vara filmer

Guiden bygger Filmarkivet med komplett kod. Väljer du filmer blir din inlämning en avskrift, och det är inte en gråzon – det är samma sak som att lämna in min kod.

Strukturen ska vara identisk med guidens. Innehållet ska inte vara det. Det är översättningen mellan dem som visar att du förstått, och det är den jag rättar.

2. Sju krav

Stäm av din idé mot listan innan du bestämmer dig. Kryssen sparas i din webbläsare.

Min domän klarar alla sju

Fem av sju räcker inte. Varje krav svarar mot ett område längre fram, och det som fattas nu fattas då.

3. Åtta förslag

Alla åtta klarar samtliga sju krav. Du får ta ett rakt av – de är till för att du ska kunna lägga tiden på koden i stället för på idén.

DomänHuvudentitetKategoriSamlingSöka påSortera på
BrädspelshyllanSpelKategoriÖnskelistaTitelSpeltid
ReceptsamlingenReceptKökVeckomenyNamnTillagningstid
VäxtdatabasenVäxtFamiljOdlingsplanNamnHöjd
VinylarkivetSkivaGenreSpellistaTitelUtgivningsår
KlätterförarnaLedKlippaProjektlistaNamnSvårighetsgrad
TräningsloggenPassPasstypVeckans passNamnLängd
BilregistretModellMärkeJämförelselistaModellnamnÅrsmodell
KonsertkalendernKonsertScenBevakningarArtistDatum
Att ta ett förslag är inget nederlag

Betyget sätts på koden, inte på idén. En genomarbetad brädspelshylla ger ett högre betyg än en originell domän som faller isär i område 6. Lägg femton minuter på valet, inte tre kvällar.

4. En egen idé

Du får hitta på din egen. Stäm av mot de sju kraven först, och svara sedan på de här fyra frågorna innan du bestämmer dig:

  1. Kan du skriva sex poster på tio minuter, utan att slå upp något? Behöver du googla varje post kommer du att undvika projektet.
  2. Vad heter kategorin? Kan du inte svara med ett ord finns den inte.
  3. Vad lägger en besökare undan? Är svaret "ingenting" saknas samlingen, och område 4 blir konstlat.
  4. Vem loggar in, och vad gör hen då? Svaret ska vara mer än "ändrar saker".

5. Det som brukar fälla ett val

ValVad som fattasNär det smäller
"Mina vänner"Ingen kategori, ingen samling, och personuppgifter om riktiga människorOmråde 4 och 6
"Todo-lista"Inget beskrivningsfält som motiverar en detaljsidaRedan här, i område 3
"Mina skor"Sex poster går, sextio gör det inte. Sökning och sortering blir meningslösaOmråde 6
"Ett spel"Är ingen katalog. Kursen bygger en katalogapplikation, inte vad som helstOmråde 5
"Länkar jag gillar"För få fält. Ett namn och en adress är två, inte femOmråde 3 och 5
FilmerInget – det är guidens domän, och då blir din kod en avskriftVid rättningen

6. Så lämnar du valet

Två saker, och båda tar en minut.

  1. Säg det på lektion 16. En mening: vad domänen är, vad huvudentiteten heter, vad kategorin är. Jag godkänner på plats eller säger vad som fattas.
  2. Skriv det i projektets README.md. Det är ett krav i inlämningen.

Så här räcker det att det ser ut:

Exempel på en rad i README.md

Vinylarkivet. Huvudentitet: Skiva. Kategori: Genre. Samling: spellista. Söker på titel, sorterar på utgivningsår. Bakom inloggning: lägga till och ta bort skivor.

När valet är gjort öppnar du guidens översättningstabell och fyller i högerkolumnen. Den är kartan mellan mitt Filmarkiv och ditt projekt, och du kommer att gå tillbaka till den i varje område som återstår.