NGO
En intranätapplikation för en fiktiv icke-statlig organisation som utvecklades i Java med hjälp av Swing i NetBeans, där MySQL användes för lokal databaslagring. I applikationen kan användare logga in och hantera information kopplad till organisationens verksamhet, till exempel projekt, personal, samarbetspartners och administrativa uppgifter.
Mitt
ansvarsområde.
Vad jag gjorde
Detta var det första utvecklingsprojektet jag genomförde under utbildningen och hela gruppen hade relativt begränsad erfarenhet av programmering. Vi arbetade därför mycket tillsammans och hjälpte varandra med kodning, felsökning och problemlösning. Arbetet delades upp i olika ansvarsområden men samarbetade och bidrog till andra delar av projektet.
Mina huvudansvar var att utveckla funktionalitet för användarroller och behörigheter i applikationen, designa och implementera gränssnitt för att presentera FN:s 17 globala mål samt utveckla både gränsnitt och back-end för hantering av avdelningar. Jag bidrog även till design av databasstrukturen och skrev SQL-frågor för att hämta och lagra data i MySQL-databasen.
Projektet gav oss också vår första praktiska erfarenhet av Git i ett utvecklingsteam. Vi lärde oss tillsammans att använda versionshantering för gemensam kodutveckling, samordna våra ändringar och hantera de konflikter som kunde uppstå när flera personer arbetade parallellt i samma kodbas. Vi lärde oss vikten av att kommunicera tydligt om vilka ändringar vi gjorde i koden och hur vi kunde lösa konflikter på ett effektivt sätt.
Utmaningar & höjdpunkter
Den största utmaningen
Projektet pågick över jul, vilket gjorde det svårare att hålla arbetet på rätt spår och samarbeta effektivt under ledigheten. Vi delade därför upp arbetet för att kunna fortsätta individuellt. När vi sedan återförenades hade alla utvecklat olika delar av systemet, vilket innebar att det plötsligt fanns stora delar av kodbasen som övriga gruppmedlemmar hade begränsad insyn i. Det blev en utmaning att sätta sig in i varandras kod och få ihop de olika delarna till en helhet, särskilt eftersom detta var vårt första större utvecklingsprojekt.
En höjdpunkt
Det var väldigt roligt att få omsätta kunskaperna från den första terminen i praktiken och för första gången utveckla ett större system tillsammans med andra. Alla i gruppen var engagerade och vi skapade en bra miljö att lära sig i vilket gjorde det lättare att arbeta tillsammans och utveckla våra färdigheter. Det var särskilt belönande att i slutet kunna presentera något som vi själva hade designat och utvecklat och faktiskt kände oss stolta över. Jag är fortfarande nöjd med resultatet även om jag utvecklats mycket sedan dess och idag hade gjort den ännu bättre.
Bilder från projektet.
Globala målen: På huvudmenyn presenteras FN:s globala mål och om man klickar på en utav dem
får
man information om det specifika målet och vilken prioritet det har.
Projekt: Applikationen innehåller en lista över alla projekt som är kopplade till den fiktiva
organisationen. Man kan filtrera och sortera listan efter olika kriterier.
Vad jag
tar med mig.
Vad jag lärde mig
Eftersom min tidigare erfarenhet inom programmering var relativt begränsad var detta projekt en viktig byggsten och lärde mig mycket om hur man utvecklar och felsöker Java-applikationer. Det gav mig en starkare förståelse för objektorienterad programmering, databasintegration och SQL-Queries. Jag lärde mig också att arbeta i ett team och kommunicera effektivt med mina gruppmedlemmar, samt att hantera versionshantering genom Git.
Vad jag skulle göra annorlunda
Med den erfarenhet jag har idag hade jag försökt behålla en bättre gemensam förståelse för hela kodbasen, även när arbetet behövde delas upp. Vi hade exempelvis kunnat arbeta mer med kodgranskning och regelbundna genomgångar av varandras implementationer. Det hade gjort det enklare att fortsätta arbeta tillsammans när gruppen återförenades och minskat beroendet av den person som ursprungligen utvecklat en viss del.