Slutrapport - M0hammed-1brahim/frugalCompany GitHub Wiki

Slutrapport – Frugal Company

Abstrakt

Det här projektet syftade till att utveckla en e-handels webbsida med kundvagnsfunktion för försäljning av datorkomponenter. Genom kravstyrd utveckling, automatiserade tester och UI-komponenter har projektet utvecklats till en funktionell webbapplikation. Projektet implementerar WCAG-testning, PHP-backend med databaskoppling. Rapporten reflekterar över vad som fungerade bra, vilka svårigheter som uppstod samt vilka lärdomar som tagits inför framtida projekt eller framtida releases i projektet.


Inledning och Bakgrund

Syfte:
Att skapa en interaktiv webbshop med funktionell kundvagn, kopplad till en SQL-databas och testbar enligt moderna webbutvecklingskrav.

Genomförande:
Projektet utvecklades iterativt över 7 sprintar. Kodbasen består av PHP (backend), JS/HTML/CSS (frontend), med stöd från bibliotek som Jest, PHPUnit, Lighthouse och ESLint. Applikationen körs via Render.

  • Teknik:
    • PHP + MySQL
    • JavaScript + DOM
    • CSS för layout/responsivitet
    • Lighthouse för WCAG-testning
    • Gitlab & GitHub Projects med CI/CD pipeline
    • Docker, Render (för deployment)

✅ Positiva Erfarenheter

Erfarenhet Analys Hur upprepa?
Automatisk testning med PHPUnit & Jest Gav snabbt feedback och ökade tryggheten i kodändringar. Använd samma struktur i framtida projekt. Ha testfall redo tidigt.
Databasintegration med PHP fungerade stabilt Tidigt byggt med förberett SQL-schema. Återanvänd mallar och modularisera DB-anslutning.
CI/CD via GitHub Automatisk validering och testning sparade tid. Ska vara standard i framtida projekt.
Tillgänglighetsanalys via Lighthouse Identifierade riktiga UI-brister (t.ex. knappar utan namn). Inför lighthouse-tester i varje release.

❌ Negativa Erfarenheter

Erfarenhet Analys Hur undvika?
Frontend hårdkodad i början Försenade övergången till backend. Börja tidigare med API i början efter en snabb initiering på frontend.
WCAG-fel pga saknade aria-labels Ignorerades i början, upptäcktes sent via Lighthouse. Använd WCAG-checklista redan från designstadiet.
Tidsuppskattning för krav var felaktig Underskattade komplexitet i cart-logik vilket gjorde andra krav inte blev implementerade. Lägg in mer beskrivning och planera i små steg.

Lärdomar

- PHP & MYSQL

- Driftsättning & CI/CD Pipeline

- Documentering professionellt: (Ex. Kravspecifikationer, Testspecifikationer & README)

- Automatiserade tester

- WCAG & GDPR

Sammanfattning:

Projektet Frugal Company uppfyller majoriteten av sina funktionella och tekniska krav. Applikationen är fullt användbar, testbar och integrerad med databas. Dock finns fortsatt förbättringspotential i:

- Tillgänglighet (WCAG nivå AA)

- Produktalternativ/förslag (merförsäljning)

- Användarkonton och orderhistorik

README och kodkommentarer har skrivits för att underlätta överlämning, vid vidareutveckling eller för nya utvecklare som tar över projektet.

Överlämning & Framtidsplan

  • PHP Linting med PHP Code Sniffer

  • Implementering av inloggningsfunktionalitet med sessions- och databashantering (enligt LG-krav)

  • Popup-produktdetaljer med teknisk info (enligt KV1.8-krav)

  • Fler automatiserade tester (PHPUnit, Jest)

  • Utveckling av README och förbättrad koddokumentation

  • WCAG-refaktorering (nuvarande 81/100) — målet är att uppnå minst 95/100 enligt lighthouse google poäng system.