Tilbage til oversigten

Din Dykkerkalender

Dykkerkalender med kommende ture og kurser, samt kontrolpanel til brugere og administratorer.

En af de største opgaver, jeg nogensinde har haft som udvikler, har været at bygge denne applikation op fra bunden af.

Den eksisterende kalender var umulig at vedligeholde, og svær at arbejde videre på og tilføje funktionalitet til, da koden var virkelig forældet og uoverskuelig. Derudover havde den ikke rigtig noget design – for nu at sige det ærligt.

Så midt i 2018 begyndte jeg at lave en plan for en helt ny version. Der skulle laves et layout, og hele kodebasen skulle bygges op på ny. Som minimum skulle al eksisterende funktionalitet med – men alt skulle gennemgås og vurderes, og forbedres hvis muligt.

Planlægningen

Dette var en langtrukken fase, hvor jeg fik opsat et testområde hvor jeg kunne udvikle den nye kalender, samtidig med at den gamle stadig var aktiv. Jeg lavede en style guide, hvor jeg traf beslutninger om, hvordan layoutet af siden skulle være. Jeg planlagde strukturen af indholdet – da jeg ikke kunne gå efter det eksisterende, da det var en lappeløsning, der var stykket sammen gradvist og planløst over en årrække.

Derudover skulle jeg tænke over database-opsætningen, da denne applikation er speciel i den forstand, at der er to databaser tilknyttet hvoraf den ene er MySQL, hvilket passer fint da siden er kodet i PHP – men den anden er MSSQL, og det kræver installation af en driver, for at få samspillet til at virke.

Det avancerede setup skyldes, at siden dels henter info fra et program til dykkercentre ved navn EVE, som kører MSSQL, og dels fra den lokale installation, der indeholder al info om selve siden, brugerprofiler osv.

Selve udviklingen af siden

Da jeg havde en færdig plan for, hvordan jeg ville gribe opgaven an, gik jeg i gang med at se på selve kodningen.

I forhold til det eksisterende, var jeg nødt til at ændre såvel hele opbygningen af kodebasen (ved at indføre templates, og holde logikken adskilt), og selve URL-strukturen af sikkerhedshensyn. Derudover indførte jeg nyere funktioner i PHP til brug ved database-forbindelsen, da den tidligere benyttet i mellemtiden helt er taget ud af sproget grundet sikkerhedshensyn.

Jeg valgte at holde designet så simpelt som muligt – med en menu i siden (der bliver til en slide-in mobilmenu ved 768 pixel skærmbredde), og indholdet centreret på den resterende plads ved siden af.

Kalenderen selv satte jeg op med jQuery Fullcalendar, og det gav mig også mulighed for at lave en liste-visning til mobiler, samt at farvekode de forskellige typer af ture og kurser. Kurserne er orange-toner (jo lysere, jo tættere på begynder-stadiet), og turene er blå. Rejser er mørkeblå, og jagtkurser, der jo adskiller sig fra dykkerkurserne, er søgrønne.

Hvad kan siden helt præcist?

Inden man logger ind er der intet andet tilgængeligt end kalenderen, hvor man kan klikke på et event, og læse beskrivelsen – samt et login / opret bruger-link. Ved login kan man tilmelde sig, se og redigere sin profil, tilmelde sig nyhedsbrev, SMS-service til notifikationer om ture og kurser, og oprette og redigere sin udstyrsprofil, der fortæller dykkercenteret hvilket udstyr man skal låne/leje, og hvilket man selv medbringer.

Hvis man er staff i dykkercenteret, kan man også se en liste over, hvilke kunder der skal med på turene, og hvilke ture der er ledige, som man kan vælge at tage.

Hvis man er medlem af dykkerklubben, kan man også fremvise sit medlemskort – hvis ikke, får man en knap vist, der informerer om fordelene ved at være medlem.

Hvis man er administrator, kan man alt det samme som både brugere og staff – og derudover en masse ekstra. For eksempel kan man administrere brugere, se statistik over hvor mange der er uddannede sammenlignet med tidligere år, og redigere tur- og kursus-beskrivelser, tilføje GPS-koordinater osv. Man kan også redigere mail-skabeloner (kalenderen sender mails ud med påmindelser inden kurser), samt redigere priserne på lejeudstyr.

Din Dykkerkalender

Skriv et svar

Er du interesseret i et samarbejde?