Slutrapport Thunderbug Individuellt mjukvaruprojekt Linnéuniversitet Sabina Linder Webbprogrammerare -12 2013-06-07
Abstrakt Denna rapport kommer att handla om projektet Thunderbug, som är en webbsida jag har utvecklat under kursen Individuellt mjukvaruprojekt samt kursen Gränssnittsutveckling användarvänlighet och tillgänglighet. Syftet med projektet Thunderbug var att skapa en webbsida som påminner lite om webbsidan bilddagboken.se. Användaren registerar sig på sidan, får en profil, och kan sedan börja lägga upp album med foton i. Men istället för att ha fokus på det sociala, som bilddagboken har, ville jag fokusera på ungdomar som har ett stort intresse för fotografering. Detta på grund av att det för tillfället inte finns någon bra sida där ungdomar och ickeprofessionella fotografer kan få relevant kritik på sina foton. Thunderbug är skrivet i språken PHP, HTML5, CSS3, Javascript och som databas har MYSQL använts. 2
Innehållsförteckning Abstrakt... 2 Innehållsförteckning... 3 Inledning och bakgrund... 4 Positiva erfarenheter... 5 Negativa erfarenheter... 6 Sammanfattning... 7 3
Inledning och bakgrund Redan vid projektets start visste jag att jag ville använda mig av programmeringsspråket PHP, eftersom att jag ville lära mig ett nytt språk och även för att jag hört mycket gott om språket från andra programmerare. Efter ett par veckor av rörig och oordnad kod fick jag tipset att använda mig av MVC(Model View Controller), som är ett designmönster för att strukturera upp koden på ett bra sätt. Jag har även använt mig av lite Javascript jquery UI för vissa funktioner som inte går att åstadkomma genom endast PHP/HTML/CSS. Som databashanterare valde jag att använda mig av MYSQL, vilket jag tycker fungerar bra. I början av projektet hade jag många ideer på vad jag skulle utveckla, men ganska snart föll valet på att skapa en sida för yngre personer där de kan ladda upp foton för att sedan få kritik från andra användare. Mina krav på sidan var att det skulle en användare ska kunna registrera sig, logga in och då få en profil där denne sedan skulle kunna lägga till album och foton till dessa. Jag ville också att användare ska kunna gå in på andra användares profiler och där kommentera och rösta på foton. Även topplistor för foton och en sökfunktion fanns med i mina krav. Jag kände redan från början att det skulle bli svårt att hinna med alla mina krav, eftersom PHP var helt nytt för mig och att jag inte var van vid större projekt. Jag valde dock att ha med alla krav ändå, eftersom jag kände på mig att jag skulle vilja arbeta vidare på detta projekt även efter kursens slut. Användarupplevelsen jag ville uppnå på min webbsida var en stilrent, enkelt och lättnavigerat gränssnitt anpassat för unga personer samt en snabb webbsida utan onödiga funktioner. 4
Positiva erfarenheter Det här projektet har varit mycket roligt och lärorikt för mig, och efter dessa 10 veckor har jag utvecklats som programmerare, men även som person. Jag har lärt mig massor om språket PHP, och trivs med att arbeta i det. Jag har även lärt mig en del om MVC, även om jag inte har haft tid att gå in på det så djupt som jag skulle vilja. MVC har fungerat riktigt bra för mig och gett mig den ordningen i koden som jag vill ha. Arbetsgången under denna tid har varit lite som en berg-och-dalbana. Vissa veckor har jag jobbat på riktigt bra och fått en massa gjort, andra veckor har jag fastnat på någon del som tagit lång tid att lösa. Jag är ganska nöjd med det jag hunnit med i projektet, även om jag inte hann med riktigt så många krav som jag ville. Det gick sakta för mig att komma igång med projektet de första veckorna, men när jag började med MVC kom jag igång bra tycker jag. Dokumenteringen har även fungerat bra. De två första veckorna gjorde jag den lite väl avancerad och onödigt täckande eftersom den bara skulle vara för min egen skull, men efter det hittade jag ett sätt som har fungerat utmärkt för mig själv. Jag har blivit mycket bättre på att dokumenter på ett sätt som fungerar bra för mig, blivit bättre på att följa min planering och självklart lärt mig en massa mer programmering. 5
Negativa erfarenheter Det är ingenting jag känner har gått riktigt dåligt i projektet, men så klart har jag haft många mindre problem och saker som har fungerat dåligt. Det största felet jag gjort är att jag tänkte att jag skulle spara felhanteringen till de sista veckorna, så att jag kunde se till att jag hade en produkt att presentera i slutet och inte skulle fastna i felhanteringen. Detta var dumt att mig, för det har gjort att jag lagt ner alldeles för lite tid på felhanteringen istället. Den enda sidan jag i stort sett är klar med felhanteringen på är i registreringen. Det tog lång tid för mig att komma igång med PHPn. De första veckorna satt jag mest bara och läste om språket, men det fanns så många olika sätt att skriva på så jag blev förvirrad och hade svårt att sätta igång med programmeringen. Sedan blev jag tipsad om att använda mig att MVC för att strukturera upp min kod. Det tog några dagar för mig att förstå grunden till MVC men sedan kom jag igång, och allt gick som på räls! Eller kanske inte riktigt så bra, men jämfört med innan i alla fall. Jag har inte varit jättebra med planeringen under hela projektet, vissa saker har tagit mycket mer tid än jag tänkt, vilket gjort att jag hamnade lite efter i planeringen. 6
Sammanfattning Sammanfattningsvis så är jag relativt nöjd med insatsen jag gjort under projektet. Jag har arbetat i takt som fungerar för mig, och istället för att planera vad jag ska göra varje dag har jag planerat vad jag ska göra på en vecka, och på det sättet har jag kunnat sprida ut arbetet på det sätt som passar dag för dag och vecka för vecka. Även om slutprodukten inte har med alla krav jag hade önskat att hinna implementera, men jag har fått med de viktigaste och de grundläggande kraven vilket jag är nöjd med. Det tog längre tid att lära mig det jag behövde kunna i PHP än jag tänkt från början, och nu när jag ser tillbaka på projektet känner jag att jag hunnit med mycket trots allt. Jag ser fram emot att vidareutveckla mitt projekt efter kursernas slut. Det finns mycket fler funktioner jag vill lägga till på sidan, och mycket att förbättra på gränssnittet. Bland annat vill jag ha med en vänfunktion, kommentering och röstning på foton, en bildslide som visar bilderna i ett album, forum och sökfunktion. Målet nu blir att färdigställa Thunderbug så pass att den går att släppa skarpt! 7
Referenser Läs mer om PHP: http://php.net/ Läs mer om jquery: http://jquery.com/ Läs mer om MySQL: http://www.mysql.com/ 8