Oppgave 19 - Presentasjon

Oppgavestiller

Oppgavestiller for Arkitektstudentens Portfolio er Silmo Design som driftes av to enkeltpersoner med fellessinteress i webdesign og utvikling.

Problemstilling

Oppdragsgiver har funnet ut at det er en mangelvare for portalløsninger til arkitektstudenter. Akkurat dette ønsker de og gjøre noe med, og fant ut at det var en god mulighet å tilby dette som en bacheloroppgave.

Oppdragsgiveren ønsker en portal der arkitektstudenter skal kunne presentere prosjekter og portfolio for medstudenter, lærere og potensielle arbeidsgivere. Portalen skal gi besøkende et innblikk i studentens kunnskaper og ferdigheter.

Oppgavevalg

Silmo Design ønsket en mer avansert løsning med bruk av Objektorientert PHP, MVC-arkitektur, HTML5, CSS3, JQuery og MYSQL. Denne sammenhengen er noe jeg har prøvd meg på tidligere, der det resulterte med det godt, men mangelfullt system.

En slik oppgave gir meg en ypperlig mulighet til å dypere forbedre mine kunnskaper rundt å utvikle et slikt system, og falt da i smak med en gang. Ut fra det virket oppgaven svært interessant, og dermed ønsket jeg å ta på meg dette oppdraget. Heldigvis for meg fikk jeg førstevalget, og utviklingen ble startet.

Problemløsning

Første prosess i systemet var å opprette et godt fungerende og fleksibelt rammeverk basert på objektorientert PHP og MVC-arkitektur. Dette er en essensiell del av oppgaven da alt må fungere slik det skal, uten feil og sikkerhetsproblematikker. Slik dette er oppbygd så blir alle PHP-klasser som er laget og godtar lesing lastet ut fra URI. Webserver (nginx) er konfigurert slik uri innen domenet blir til en string, og deretter vil rammeverket tolke denne og sende bruker til korrekt klasse og metode. Webserver er og konfigurert slik at denne URIen er filtrert, og direktetilgang til andre filer enn routeren er sperret. På denne måten står routeren for all styring og videresending innen systemet. Resten av elementene i systemet er oppbygget i form av klasser, bibliotek eller moduler som blir brukt etter behov.

Videre ble et basisdesign implementert i løsningen, og alle sider opprettet. Med designet på plass ble det opprettet en database som skal holde på all informasjon som skal lagres. Etter det startet selve implementeringen av funksjonen til sidene, som registrering, innlogging, adminside, brukerside og profilside.

Resultater

Utviklingen av systemet har resultert til et godt fungerende rammeverkt som jeg er svært fornøyd med. Rammeverket er fleksibelt og har potensiale til enkel utvidelse i fremtiden. Hovedsakelig har siden fire hovedområder; hovedsiden, administrasjonsside, brukerside og profilside.

Hovedsiden

Under hovedsiden har vi siden som presenterer løsningen og gir generell informasjon (kontakt, FAQ, registrering og innlogging) en ny besøkende kan trenge.

Administrator

En administrator kan legge til, endre og deaktivere brukere. I tillegg har de funksjonen for å redigere innhold til brukere om dette må til.

Brukere

Etter en bruker er innlogget, så har en flere muligheter. Hovedsakelig er det å skape sin egen profil med å opprette brukerdata, registrere flere prosjekt, legge inn bilder og informasjon. De har og de mulighetene til å endre/slette alt innen prosjekter. Prosjekt kan lastes opp som PFF. En eventuell tilleggsfunksjon er å ha en side for CV. Ved oppgaveinnlevering vil CV bare støtte av opplasting av PDF.

Profilsiden

Profilsiden er besøkssiden for brukere. Dette er den siden som blir resultatet av layout og informasjon en bruker ønsker å presentere for andre brukere. Den gir en oversikt over brukerinformasjon, aktive prosjekt, CV og PDFer. Siden er utformet etter layoutønske fra brukere, om dette blir fullstendig implementert.

Videre arbeid

Portalen er utviklet innen mitt eget kunnskapsområde for utvikling, design, sikkerhet og andre teknologier og i tillegg det jeg har lært underveis i utviklingen. Med så pass lite erfaring i utvikling av slike system, så er der nok et underliggende forbedringspotensialet på noen områder.

Dette er en ny type portal, og ut fra det kan arbeidsgiver finne ut i etterkant at den er mangelfull. Men systemet er bygget opp slik at forbedringer, designendringer og nye sider er lett å innføre. Løsningen er utviklet med en tanke på fleksibilitet, så kan Silmo Design enkelt redigere/legge til nye element etter behov i fremtiden.

Det som hovedsakelig står igjen er grundigere testing av systemet mot flere brukere, slik vi får et oversikt over hvordan systemet yter, og hva brukere føler de mangler etter bruk over tid. I tillegg er jeg heller ikke noe spesielt øye for design, men oppdragsgiver har full fleksibilitet til å endre på det de føler er nødvendig.