Midnattsloppet Corporate App

Bilder finns längre ner på sidan

____________________________________________________


Appens tekniska struktur och säkerhet

I backend använde vi oss av Java och Spring Boot för att skapa en skalbar och effektiv applikationslogik. Backendens front-end skrevs med HTML och CSS för att hantera administrativa gränssnitt. Appen kördes på en Tomcat-server, som skolan försåg oss med, och vi använde Jenkins för att automatiskt bygga och deploya koden till servern. Jenkins pipeline hanterade hela processen, från byggnation till deployment, samt logghantering. Gitea användes som VCS för att underlätta kodhanteringen mellan alla utvecklare i gruppen.

För appens frontend använde vi Flutter, vilket gav oss möjlighet att skapa en responsiv och användarvänlig mobilapplikation. Applikationen inkluderade även en debug-meny som underlättade felsökning och utveckling.

Appen hade integrerad funktionalitet för lösenordsåterställning och kontoverifiering genom e-post, implementerat med klasser som hanterade utskick av mejl. Tokens användes för säkerhet vid kontoverifiering, där dessa var tidsbegränsade och ogiltigförklarades efter 24 timmar för att förhindra återanvändning av gamla tokens.

Vi skapade avancerade SQL-satser och metoder för att beräkna poäng, fastställa vinnare, och uppdatera leaderboards. All denna data bearbetades och presenterades i appens gränssnitt.

APIn för appen var tillgänglig via vår Tomcat-server och skyddades med HTTPS för att säkerställa dataintegritet och säker kommunikation. Vi integrerade även Strava via deras API, med en API-nyckel som deras utvecklingsavdelning försåg oss med.

För att skydda användardata använde vi Bcrypt för kryptering av lösenord och annan känslig information i databasen. För att säkerställa appens funktionalitet innan varje deployment, implementerade vi integrerade tester som kördes automatiskt via Jenkins-pipelinen.


____________________________________________________


Information om hur appen fungerar

Midnattsloppet Corporate är en app som utvecklades som en del av ett universitetsprojekt där målet var att skapa en digital lösning för Midnattsloppet. Jag hade förmånen att leda utvecklingsteamet, där jag guidade oss genom hela utvecklingsprocessen för att säkerställa att vi uppnådde appens fulla potential och funktionalitet. Projektet fick ett av dem högsta betygen (95/100) och blev särskilt rekommenderat av våra lärare, som ansåg att appen var så pass bra att den borde testas i verkligheten, och att vi borde kontakta Midnattsloppet för att se om de vill använda appen på riktigt.

Appen möjliggör för användare att ansluta sig till Strava och synkronisera sina löpningar direkt till appen. Den är utformad för att företag och deras anställda ska kunna skapa små grupper och tävla mot varandra i veckovisa utmaningar. Varje vecka uppdateras utmaningarna automatiskt och poäng räknas ut baserat på deltagarnas prestationer. Denna poängfördelning sker automatiskt, vilket skapar en rättvis och jämförbar tävlingssituation.

Appen har en live leaderboard som ständigt uppdateras för att visa vem som leder och hur varje deltagare presterar i de pågående utmaningarna. Alla poäng som tjänas in under veckan samlas in på gruppens profil och visar de framsteg som gruppen har gjort. Utöver detta kan varje användare se sina totala sprintar, vilket ger en bra översikt över personlig prestation och engagemang.

Projektet mottogs mycket väl av både studenter och lärare, och appen ansågs vara en av de mest framgångsrika i kursen. Det faktum att den rekommenderades för verklig användning är ett bevis på dess kvalitet och potential. Midnattsloppet Corporate är ett exempel på hur ett universitetsprojekt kan leda till en praktiskt användbar och högkvalitativ produkt, med en genomtänkt balans mellan användbarhet och teknisk prestanda.

____________________________________________________