← Område 8 Uppgift · Slutprojekt Felsökning

Webbutveckling 1 · område 8 · uppgift

Projekt 7 – Webbplats åt en kund

Det här är områdets kravdokument. Projektguiden, repetitionssidan och passen ska stödja kraven nedan – inte tvärtom.

1. Uppdraget

Du ska bygga en komplett webbplats åt en kund, från första frågan till publicerad och testad sajt. Kunden väljer du bland fem fiktiva kunder, eller så tar du med en riktig. Du får arbeta ensam eller i par.

Det här är kursens sista projekt, och det är det första där du bestämmer vad som ska byggas. Därför är halva uppgiften att ta reda på vad kunden behöver, skriva ner det, planera och i efterhand jämföra med vad det blev. Den andra halvan är sajten, och den ska visa allt du kan: struktur, form, anpassning, tillgänglighet, interaktivitet och optimering.

Sajten byggs från grunden i ett nytt repo. Ingenting återanvänds från din kurssajt, utom det du har lärt dig.

2. Två inlämningar

NärVadLämnas som
Delinlämningfredag 19 mars 23:59Kravspecifikation, projektplan och wireframesLänken till ditt projektdokument i Google Docs
Slutinlämningmåndag 7 juni 23:59Sajten och hela projektdokumentetLänken till ditt publika GitHub-repo

Mellan dem ligger uppehållet, vecka 12–19. Planen du lämnar 19 mars är den du bygger efter i maj, så skriv den så att du förstår den själv när du kommer tillbaka.

3. Projektdokumentet

Allt som inte är kod skriver du i ett enda dokument i Google Docs, i fyra delar:

DelSkrivsInnehåller
1. Kravspecifikationpass 74Kunden, syftet, målgruppen, innehållet, kraven och avgränsningen
2. Projektplanpass 75Mål, sitemap, wireframes, tidsplan, milstolpar och risker
3. Testprotokollpass 83Webbläsare och enheter, validering, WAVE, test utan JavaScript, buggrapporter
4. Uppföljningpass 84Vad som blev som planerat, vad som inte blev det, och varför

Mallen ligger i itslearning och på områdets startsida. Länken ger dig en egen kopia med ett klick – skriv aldrig i originalet. Varje avsnitt i mallen har en kort instruktion i kursiv stil; ta bort den när du har fyllt i avsnittet.

Arbetar ni i par har ni ett gemensamt dokument. Den ena gör kopian och delar den med den andra.

4. Välja kund

Läs kundbeskrivningarna och välj en. De är olika stora med flit: frisörsalongen och hunddagiset är tydliga och avgränsade, bandet är friast och kräver mest av dig själv. Välj efter vad du vill visa, inte efter vad som verkar lättast.

En riktig kund går bra, men det är mer arbete. Du sköter kontakten själv, du måste få kundens texter och bilder, och du behöver kundens tillstånd att publicera dem. Villkoren står sist i kundbeskrivningarna. Säg till på pass 74, så godkänns kunden senast med projektplanen 19 mars.

5. Kraven

Kryssa av allt eftersom. Kryssen sparas i din webbläsare.

Alla tolv ska vara uppfyllda. De första fyra gäller processen, de åtta sista sajten.

Ska-krav — nivå E

Bör-krav — mot nivå C

Utmaning — mot nivå A

6. Tekniska krav

KravVarför
Nytt repo från kursens template-repo, publiktSlutprojektet är en ny sajt. Privat repo går inte att rätta
Inga bibliotek, inga ramverk, inga byggverktygSamma regel som hela kursen
Inga style=-attribut, inget onclick i HTML:enStruktur, stil och beteende hålls isär
Inget innerHTML för text som kommer utifrånSäkerhetsregeln från Projekt 5
Gemener i filnamn, bindestreck i stället för mellanslag, relativa sökvägarSajten ska fungera publicerad
Bilder du inte har rätt till används inteEgna foton, egna SVG:er, eller fritt licensierade med TASL-hänvisning
Inga riktiga personuppgifter utan samtyckeGäller särskilt den som har en riktig kund

Det här lämnas in

19 mars, i itslearning-uppgiften Projektplan: länken till projektdokumentet. Dokumentet ska vara delat så att läraren kan läsa och kommentera det.

7 juni, i itslearning-uppgiften Slutprojekt: länken till ditt publika GitHub-repo. Inget annat, och inte koden. Arbetar ni i par lämnar ni båda in samma länk.

I repot ska finnas:

index.html och dina övriga sidor
stil.css
js/              om sajten har skript
bilder/          bara de bilder sajten använder
README.md        med länk till sajten och projektdokumentet

Så delar du projektdokumentet

  1. Dela uppe till höger i Google Docs.
  2. Under Allmän åtkomst: välj skolan, så att alla i skolan som har länken kan öppna dokumentet. Sätt rollen till Kommentator.
  3. Kopiera länken och klistra in den i itslearning.
  4. Pröva länken: be någon bredvid dig öppna den. Kommer de inte in, kommer inte läraren in heller.
Det vanligaste felet

Ett dokument som inte är delat är samma fel som ett privat repo – det går inte att bedöma.

7. Arbeta i par

Ni har ett repo och ett projektdokument. Den ena äger repot, den andra läggs till som collaborator – en medarbetare med rätt att pusha.

  1. Ägaren: repot → Settings → Collaborators → Add people, och skriver in den andras GitHub-namn.
  2. Den andra: godkänner inbjudan, i mejlet eller på github.com.
  3. Båda: öppnar var sin Codespace på samma repo.

Två regler gör att ni inte skriver över varandra:

Säger git push rejected, har den andra pushat sedan du senast hämtade. Kör git pull, sedan git push igen. Står det conflict efter git pull, fråga läraren innan du gör något mer.

Ni bedöms var för sig. Commit-historiken visar vem som skrivit vad, och båda ska kunna förklara hela sajten, inte bara sin halva.

8. Bedömningsmatris

DelECA
PlaneringKravspec och projektplan är ifyllda och inlämnade i tidValen är motiverade mot kundens målgruppKraven är mätbara och planen har realistiska risker med åtgärder
Struktur och kodSemantisk HTML, extern stilmall, validerar, tom konsolDesignsystem i variabler som används konsekvent på alla sidorKoden är lätt att läsa och följa – struktur, stil och beteende är helt åtskilda
Layout och responsivitetFungerar från 320 px till desktopBrytpunkterna är motiverade av innehålletLayouten fungerar vid varje bredd utan specialfall
Tillgänglighetalt, label, tangentbord, WAVE utan felKontrast och fokusmarkering är genomtänktaaria-live där något ändras, och allt fungerar med skärmläsare
InteraktivitetEn fungerande funktion, sajten fungerar utan JavaScriptFunktionen är anpassad och förbättrar något som redan fungerarEgen diskret funktion skriven ur reglerna
OptimeringBilderna är skalade och i modernt formatsrcset och sizes, Lighthouse före och efterMätningen är analyserad och kvarvarande problem förklarade
Test och uppföljningTestprotokollet och uppföljningen är ifylldaVarje fel har en åtgärd, och ändringar mot planen är förklaradeUppföljningen drar slutsatser om processen

Matrisen läses vågrätt: en A-kolumn förutsätter att E och C i samma rad är gjorda.

9. Kom igång – de tre första sakerna

  1. Välj kund. Läs alla fem beskrivningarna innan du väljer. Tänk på vad du vill visa att du kan.
  2. Gör din kopia av mallen och döp den till kundens namn. Arbetar ni i par: den ena gör kopian och delar den med den andra.
  3. Skriv kravspecens första avsnitt: vem kunden är och varför de behöver en sajt. Kan du inte svara på det i tre meningar vet du inte tillräckligt om kunden än – läs beskrivningen igen.

10. Så ligger tiden

VeckaLektionerBör vara klart
v.1174 tis 16/3 · 75 fre 19/3Kund vald, kravspec och projektplan klara, wireframes ritade. Delinlämning fredag 19/3 23:59
v.12–19uppehåll–
v.2076 mån 17/5 · 77 tis 18/5 · 78 fre 21/5Planen godkänd, repot skapat. Milstolpe 1: all HTML på plats och validerar
v.2179 mån 24/5 · 80 tis 25/5 · 81 fre 28/5Layouten klar. Milstolpe 2: fungerar från 320 px till desktop. Milstolpe 3: funktionen fungerar, och sajten fungerar utan den
v.2282 mån 31/5 · 83 tis 1/6 · 84 fre 4/6Optimerad och testad. Milstolpe 4: testad, publicerad och dokumenterad – testprotokoll, README.md och uppföljning
v.2385 mån 7/6Finputs. Deadline måndag 7/6 23:59
v.2386 tis 8/6Prov 6 och kursavslut

Varje vecka i maj och juni har tre pass. Milstolparna är hållpunkter, inte inlämningar: läraren tittar på dem under passet, och ligger du efter är det då vi pratar om det.

Betygssamtalen förs under byggpassen 77–85, ett i taget vid din dator.

Prov tisdag 8 juni

Slutprovet är skriftligt, utan dator, och täcker hela kursen. Det bygger på ett anonymiserat slutprojekt från klassen och har också frågor om juridik, etik och säkerhet från område 5. Repetitionssidan på områdets startsida går igenom kursen område för område.

11. Checklistor inför inlämning

En checklista per inlämning. Kryssen sparas, precis som kraven.

19 mars – projektplanen

7 juni – sajten

7 juni – dokumentet

12. Felsökning

10 rader

ProblemTrolig orsakGör så här
Läraren kommer inte in i dokumentetDokumentet är inte delat, eller bara med digDela → Allmän åtkomst → skolan, Kommentator
Du skrev i mallen i stället för i en kopiaDu öppnade originallänken med /editArkiv → Gör en kopia, och fortsätt i kopian
Figma-länken visar Request accessFigma-filen är inte deladShare → Anyone with the link → can view
Du vet inte vad kunden vill haKravspecen är för tunnLäs kundbeskrivningen igen och skriv upp vad kunden säger ordagrant
Tidsplanen håller intePlanen var för optimistiskSkriv ner avvikelsen i tidsplanen nu, inte i efterhand. Stryk ett bör-krav hellre än att missa ett ska-krav
git push säger rejectedDen andra i paret har pushatgit pull, sedan git push
git pull säger conflictNi har ändrat samma raderFråga läraren innan du gör något mer
Kunden har inte skickat sina bilderRiktig kund, och det dröjerBygg med egna platshållarbilder i rätt storlek och byt ut dem när materialet kommer
Sajten fungerar lokalt men inte publiceradStor bokstav i ett filnamn, eller absolut sökvägGemener, relativa sökvägar
Du hittar inga fel att skriva i testprotokolletDu har testat det du vet fungerarLåt någon annan testa, eller följ protokollets rader en i taget