En webbaserad träningsapp för figurkoder.
- Progressiv webbapp (PWA) - Fungerar offline och kan installeras på hemskärmen
- Två träningslägen:
- Lära: Memorera figurkoderna
- Träna: Träning för att testa hur väl de har memorerats
- Responsiv design - Fungerar på alla enheter
Appen är byggd som en modern single-page application med:
- Vanilla JavaScript - Inga externa ramverk eller bibliotek
- Service Worker - För PWA-funktionalitet och offline-caching
- Azure Static Web Apps - Hosting och konfiguration
src/
├── index.html # Huvudfil med all HTML, CSS och JavaScript
├── gameData.js # Data för figurkoder och träningsfrågor
├── sw.js # Service Worker för PWA-funktionalitet
├── site.webmanifest # Web App Manifest
├── staticwebapp.config.json # Azure SWA-konfiguration
└── *.png/ico # Ikoner och favicons
För att köra appen lokalt kan du använda en enkel HTTP-server:
# Med Python
python -m http.server 3000
# Med Node.js (http-server)
npx http-server src -p 3000
# Med VS Code Live Server extension
# Högerklicka på src/index.html och välj "Open with Live Server"Appen kommer sedan att vara tillgänglig på http://localhost:3000
Projektet använder Playwright för end-to-end-tester:
# Installera beroenden
npm install
# Köra alla tester
npm test
# Köra tester med visuellt gränssnitt
npm run test:ui
# Köra tester med synlig webbläsare
npm run test:headed
# Starta testserver (för manuell testning)
npm run serve:testNotera: Detta projekt använder PowerShell för alla terminal-kommandon enligt projektstandard.
VIKTIGT: All kod måste formateras med Prettier innan commit.
# Kontrollera formatering
npm run format:check
# Fixa formateringsproblem automatiskt
npm run formatPR-krav:
- PRs blockeras automatiskt om koden inte är korrekt formaterad
- Kör
npm run formatinnan du committar ändringar
Testning av PWA-funktionalitet: Testerna validerar offline-funktionalitet, service worker-registrering och PWA-installation, men vissa begränsningar kan uppstå i CI-miljöer.
Testerna körs automatiskt i GitHub Actions innan deployment.
Appen är konfigurerad för Azure Static Web Apps och använder GitHub Actions för automatisk deployment. Källkoden ligger i src/ mappen och Azure SWA är konfigurerad att servera innehållet därifrån.
Appen fungerar som en Progressive Web App:
- Besök https://figurkoder.se
- I webbläsaren, välj "Lägg till på startskärmen" eller liknande alternativ
- Appen kan nu användas offline och startas från hemskärmen
Appen använder en Service Worker för att cacha resurser och fungera offline.
Detta projekt är licensierat under MIT License - se LICENSE filen för detaljer.
Detta projekt startade som en uppgift i kursen 2dv607 - RIA-development with JavaScript på Linnéuniversitetet men har sedan utvecklats till en fullfunktionell PWA för träning av figurkoder.