Frivilligt skoleprojekt

April 2023

Udlånssystem

Udlåns- og brugerstyrings system til min skole.

En af mine venner og jeg udviklede et nyt, opdateret IT-system til vores skoles IT-skoleoplæring. Systemet holder styr på brugerne og alt vores IT-udstyr. Med systemet kan man låne udstyr ud til brugerne og holde styr på, hvor udstyret befinder sig, både når det er udlånt og på lager. Projektet tog i alt omkring 3 måneder, hvilket gør det til det længste projekt, jeg nogensinde har arbejdet på.

Udlånssystem

01

Database design

Jeg har designet en MySQL-database fra bunden, inspireret af det tidligere system, men med plads til nye funktioner. Databasen indeholder data om brugere, brugerrettigheder, udlån, produkter, lager og lokaliteter. Den nye database kan, i modsætning til den tidligere, nu holde styr på, hvor alt udstyr befinder sig, når det er på lager. Databasen indeholder i alt 19 tabeller.

Database design

02

UI / UX design

Jeg har udviklet et designsystem i Adobe XD, som inkluderer mockups i både light- og dark-mode. Desuden har jeg udvalgt farver til primary, warning, error, info og opmærksomhed. Designet er opbygget af komponenter, hvilket gør det nemt at genbruge dem i hele projektet.

UI / UX design

03

Frontend

Jeg har udviklet frontenden ved hjælp af Svelte, hvor størstedelen af kodebasen er skrevet i HTML, JS og CSS uden brug af UI/komponentbiblioteker. Frontenden henter data fra backenden og lagrer dem i Svelte Stores, som er globale variabler, der kan tilgås fra hele systemet. Jeg har organiseret frontenden i flere mindre komponenter for at gøre det overskueligt og let at refaktorere senere. Desuden er frontenden meget sikker, da den er skrevet primært i TypeScript.

Frontend

04

Backend

Backenden er udviklet i PHP af min ven Nima. Den trækker data fra databasen og sender det til frontenden. Den håndterer også oprettelsen af nye udlån, brugere og udstyr. Derudover er det backendens ansvar at håndtere autentificering via cookies og session tokens i databasen.

Backend

Links

Kenni-kollemorten.dk © All rights reaerved