3. semester eksamensprojekt3rd semester exam project
Fullstack KPI-dashboard bygget til en reel virksomhed. Aggregerer ordredata fra tre systemer — Rackbeat lager-API, C1st POS og webshop — og præsenterer omsætning, dækningsbidrag og topsælgere med år-til-år sammenligning på tværs af salgskanaler. Fullstack KPI dashboard built for a real company. Aggregates order data from three systems — the Rackbeat inventory API, C1st POS and webshop — presenting revenue, contribution margin and top sellers with year-over-year comparison across sales channels.
| # | Produkt | Kategori | Solgte | Omsætning | DB | DG% |
| 1 | La Marzocco Linea Micra | Espressomaskiner | 12 | 249.600 kr | 123% | 123% |
| 2 | Sage Barista Express Impress | Espressomaskiner | 28 | 139.720 kr | 123% | 123% |
| 3 | Niche Zero Kværn | Kværne | 15 | 97.425 kr | 123% | 123% |
| 4 | Baratza Encore ESP | Kværne | 22 | 74.800 kr | 123% | 123% |
| 5 | Acaia Pearl Scale | Tilbehør | 34 | 61.200 kr | 123% | 123% |
Frontend
Vanilla JavaScript med komponent-arkitektur — KpiRow, MarginCard, TopProductsTable, ChannelPicker, DatePickerVanilla JavaScript with a component architecture — KpiRow, MarginCard, TopProductsTable, ChannelPicker, DatePicker
Backend
Java Spring Boot REST API med JWT-autentifikation. Henter og normaliserer data fra Rackbeat og C1st API'erne og gemmer i MySQLJava Spring Boot REST API with JWT authentication. Fetches and normalizes data from the Rackbeat and C1st APIs and stores it in MySQL
Data
~44.000 ordrer, ~112.000 ordrelinjer, ~3.900 produkter. VAT-normalisering på tværs af de to API-formater~44,000 orders, ~112,000 order lines, ~3,900 products. VAT normalization across the two API formats
KildekodeSource code
Repos under Krymmel-Kaemperne er private af hensyn til virksomhedens data — kodeeksempler fremvises gerne ved forespørgsel. Repos under Krymmel-Kaemperne are private to protect the company's data — code samples are gladly shared on request.