Forprosjektrapport Gruppe 17 Askar Mehdi, Thomas Tykesson, Magnus Arneberg Nilsen Side 0 av 9
Innholdsfortegnelse: Presentasjon - Service Broker AS - Kontaktpersoner Sammendrag Dagens situasjon Mål og rammebetingelser Løsninger/alternativer - Alternativ løsning 1 - Alternativ løsning 2 Analyse av virkninger Arbeidsplan og fremdriftsplan - Gantskjema - Beskrivelse av fasene - Milepæler Side 1 av 9
Presentasjon Vi er en gruppe på 3 ivrige datastudenter som har et ønske om å gjøre et spennende og suksessfullt Bachelorprosjekt. Gruppen skal i våren 2015 utføre hovedprosjektet i samarbeid med selskapet Service Broker AS. Oppgaven vil i all hovedsak gå ut på å lage en nettside hvor man kan importere relevant informasjon fra sin LinkedIn-profil, ved å logge inn på systemet, til en dynamisk CV-mal som kan eksporteres som PDF og/eller.doc. Se denne siden for sammenligning: resume.linkedinlabs.com. Siden skal kunne presentere en CV på norsk med informasjon fra brukerens egne LinkedInprofil, med mulighet for å velge, og endre verdier fra LinkedIn som skal inkluderes i den endelige eksporterte CV-en. Prosjektet vil inkludere bruk av valgfrie front -og backendteknologier, og integrasjon av LinkedIns API. Siden skal være mobiltilpasset. Service Broker AS Vår oppdragsiver i dette hovedprosjektet er rekrutteringsselskapet Service Broker AS. Selskapet spesialiserer seg på å finne IT-folk til tidsbegrensede oppdrag og faste ansettelser. Deres kandidater arbeider med blant annet rådgivning, prosjekttjenester, utvikling, driftstjenester, ledelse, og salg. Service Broker har to hovedtjenesteområder. Recruiting jobber med ansettelser til faste stillinger, mens Consulting er oppdragsformidler av midlertidige engasjementer. Selskapet har flere store kunder som blant annet Steria, Bouvet og Elkjøp. Nettside: http://servicebroker.no/ Kontaktpersoner Veileder: - Geir Skjevling Lektor ved Høgskolen i Oslo og Akershus Epost: Geir.Skjevling@hioa.no Telefon (kontor): 67 23 86 58 Telefon (mobil): 404 93 257 Besøksadresse: Pilestredet 35, Oslo, PS432 Side 2 av 9
Gruppen: - Muhammad Askar Syed Mehdi (Kontaktperson) Studielinje: Dataingeniør (HINGDATA) Epost: s188074@stud.hioa.no, askar.938@outlook.com Telefon: 93 80 86 08 - Magnus Arneberg Nilsen Studielinje: Dataingeniør (HINGDATA) Epost: s188068@stud.hioa.no - Thomas Christoffer Tykesson Studielinje: Dataingeniør (HINGDATA) Epost: s188084@stud.hioa.no Telefon: 47 26 69 93 Oppdragsgiver: - Oskar Bull-Hansen (Rådgiver) Epost: oskar@servicebroker.no Telefon: 916 96 946 - Sebastian Næss Langaas (Rådgiver) Epost: sebastian@servicebroker.no Telefon: 920 86 167 Sammendrag Prosjektet går hovedsakelig ut på å utvikle en webapplikasjon som kan få tak i relevant informasjon på en brukervennlig måte fra LinkedIn-profilen til den innloggede, og overføre informasjonen til en CV som skal være i form av et PDF eller.doc dokument. Prosjektet er en del av Service Brokers tjenester som tilbys arbeidssøkere for å bidra i en jobbsøkerprosess og vil forenkle prosessen med å lage en ryddig CV. Side 3 av 9
Gruppen har kommet fram til 2 hovedalternativer for løsning av problemet, men vi har klart å bestemme oss for hvilken som passer best: 1. Bruker logger inn på systemet ved hjelp av LinkedIn informasjonen sin 2. Bruker kan velge mellom 3 templates for CV-en 3. Data fra LinkedIn eksporteres til den valgte templaten 4. Brukeren kan fjerne eller legge til data i template ved hjelp av en brukervennlig GUI 5. Template oppdateres ved endring av data (Real-time forhåndsvisning?) 6. Bruker kan velge mellom å lagre CV lokalt som et PDF eller.doc dokument Alt dette gjøres ved hjelp av teknologier som Javascript, HTML, CSS og PHP. Gruppen må også sette seg inn i minst 2 API-er for å løse problemet, blant annet LinkedIns Javascript API. Arbeidet deles opp i forskjellige faser: Research, planlegging, dokumentasjon, designing, utvikling, programmering, testing, forbedring. Disse er beskrevet i detalj og det er også lagt til et Gantskjema som viser når og hvilke faser gruppen skal jobbe med. Dagens situasjon Prosjektet vil være en del av Service Brokers tjenester som tilbys arbeidssøkere for å bidra i en jobbsøkerprosess, hvor det å kunne presentere seg selv med en ryddig CV er viktig. Service Broker har i de siste årene observert en økende bruk av LinkedIn når det kommer til utforming av en CV. De er svært interesserte i et verktøy (nettside) som vil gjøre det enkelt å overføre relevant informasjon på en brukervennlig måte fra LinkedIn-profilen sin til en CV som skal være i form av et PDF eller.doc dokument. Nettstedet http://resume.linkedinlabs.com er et lignende verktøy som oppfyller noen av kravene, men langt fra alle. Årsaken er manglende funksjonalitet for å modifisere innhold i CV-en og ingen mulighet til å lage en CV på norsk. Service Broker ønsker derfor at vi skal lage en bedre og en mer skreddersydd løsning for dem. Mål og rammebetingelser Mål: - Systemet skal være en webapplikasjon, altså en nettside som kan leses i en nettleser - Systemet skal identifisere brukeren ved deres LinkedIn-Profil informasjon - Systemet skal kunne importere relevant data fra LinkedIn profilen - Dataen skal vises i noen predefinerte templates som kan endres i et tekstredigeringsverktøy som befinner seg på siden - Tekstredigeringsverktøyet skal gi mulighet for å fjerne eller legge til data på CV-en Side 4 av 9
- Brukeren skal kunne lagre resultatet i form av et PDF eller.doc dokument som han/hun kan lagre lokalt på systemet sitt Rammebetingelser: - Bruke Javascript for å styre dynamikken i siden - Bruke LinkedIns Javascript API for å autentisere brukeren og importere data fra profilen - PHP for oppbygning av siden og kommunikasjon med server - Bruke Javascript API for tekst behandlings verktøyet på siden - Bruke Javascript API for å konvertere fra HTML til PDF og.doc - Bruke HTML, CSS for å utforme nettsiden - Siden skal være mobiltilpasset - Bruke NetBeans IDE for å utvikle systemet - Nettsiden skal ligge på Service Brokers server - Gruppemedlemmene bruker sine egne maskiner - Dropbox for versjonshåndtering og backup - Bruke smidig metodikk for prosjekthåndtering - SQL for eventuell lagring av brukere og deres data? Løsninger/Alternativer Det finnes naturligvis flere alternativer til løsninger på en slik oppgave. Oppgaven er relativ åpen, men vi har valgt å fokusere på to hovedalternativer: Alternativløsning 1 Hovedtrekk: 1. Bruker logger inn på systemet ved hjelp av LinkedIn informasjonen sin 2. Bruker kan velge mellom 3 templates for CV-en 3. Data fra LinkedIn eksporteres til en tekst editor på siden 4. Bruker kan fritt redigerer data og template i tekst editoren 5. Bruker kan velge mellom å lagre CV lokalt som et PDF eller.doc dokument Fordeler: - Kan endre på alle detaljer som blant annet tekst/data og deler av template Ulemper: - Brukeren må gjøre seg vant til tekst editoren, ødelegger flyten i prosessen - Resultatet som en vil få generert vil ikke alltid se lik ut som i tekst editoren, vanskelig å gjøre noe med Side 5 av 9
- Mulighet til å fritt redigere, kan resultere i mange forskjellige formater på CV-ene, blant annet noen uryddige CV-er - Over-komplekst? Alternativløsning 2 Hovedtrekk: 1. Bruker logger inn på systemet ved hjelp av LinkedIn informasjonen sin 2. Bruker kan velge mellom 3 templates for CV-en 3. Data fra LinkedIn eksporteres til den valgte templaten 4. Brukeren kan fjerne eller legge til data i template ved hjelp av en brukervennlig GUI 5. Template oppdateres ved endring av data (Real-time forhåndsvisning?) 6. Bruker kan velge mellom å lagre CV lokalt som et PDF eller.doc dokument Fordeler: - Predefinerte templates fører til mer ryddig CV - CV- ene ser layout-messig like ut og definerer en standard som både jobbsøkere og Service Broker kan forholde seg til - Mulighet for å endre på all data fra LinkedIn profilen - Mer brukervennlig opplevelse og penere nettside, i stedet for en stor avansert tekst editor - Mer flyt i prosessen, systemet tilbyr brukeren enkle valg slik at brukeren slipper å henge seg i detaljer - Færre API i å forholde seg til Ulemper: - Ikke mulighet til å endre på alle detaljer, mer bundet til template - Det er behov for 1 til 2 ekstra klikk for å fullføre prosessen Analyse av virkninger Det er klart at løsning 2 gir flere fordeler enn løsning 1. De viktigste forskjellene mellom disse løsningene er imidlertid flyten i prosessen, brukervennlighet og bruk av standarder for oppsett av CV. Her kommer løsning 2 best ut av de overnevnte alternativene. Et annet viktig poeng er at løsning 1 ikke vil generere et resultat som vil se lik ut som det som står i teksteditoren, dette er vanskelig å gjøre noe med og kan dermed ødelegge prosjektet. På grunnlag av det overnevnte har gruppen derfor valgt å gå for løsning 2. Side 6 av 9
Arbeidsplan og Fremdriftsplan Gant Skjema Beskrivelse av fasene: Research: Den ene siden ved utforskningsfasen er innhenting av informasjon om hvilke application programming interface som nettsted skal ta i bruk, programmeringsspråk den skal skrives i, teknologi løsninger serverne skal kjøre, og programmeringsmiljø gruppen skal samarbeide i. Den andre siden er å finne mer ut om målgruppens behov, hvordan vårt nettsted løser deres problemer på en mest optimal måte. Planlegging Planleggingsfasen innebærer å fordele de store oppgavene fremover i logiske og håndterbare deloppgaver, kartlegge hvordan vi skal fordele vår tid på de ulike oppgavene, hvem som skal gjøre hva, hvor ansvaret ligger og når og hva som skal til for at oppgavene kan sies å være ferdig. Side 7 av 9
Dokumentasjon Dokumenteringsfasen er strukturert i dokumentasjonsstandarden som Høgskolen bruker, i denne fasen vil gruppen jobbe med styringsdokumentasjon, dette vil skje utover prosjektarbeidet, og sluttdokumentasjon, som vil skje mer mot slutten. Styringsdokumentasjonen er videre fordelt inn i prosjektskisse, prosjektdagbok, forprosjektrapport, arbeidsplan, fremdriftsplan og kravspesifikasjon. Sluttdokumentasjonen er prosessdokumentasjon, produktdokumentasjon, testdokumentasjon, brukerveiledning, brukermanual og muntlig sluttrapportering. Designing Designfasen vil være det logiske forhåndsarbeidet som skal til for å begynne utviklingsfasen, dette går ut på hvilke modeller nettsted skal være bygd opp på, hvilke filosofier produktet og utviklingen av dette skal følge. Eksempler på dette er MVC (Modell, View, Controller), DRY (Don't, Repeat, Yourself) og XP extream Programming. Utvikling Utviklingsfasen vil være å få skaffe domene navn, få servere online, bestemme hvilke datastrukturer som skal benyttes, hvordan nettsted skal tilpasses de forskjellige plattformene. Generelt sagt innebærer denne fasen alt som må på plass for at man kan begynne å programmere de konkrete funksjonene, klassene og grensesnittene. Programmering Programmeringsfasen er at gruppa setter seg ned og programmerer de funksjonene, klassene, grensesnittene og liknede som gjør opp håndarbeidet. Det er i denne fasen teori møter praksis, man finner ut om modellene passer virkeligheten og man ser hvor bra løsningen vil kunne bli. Testing Testingsfasen vil være det arbeidet som forsikrer gruppa og arbeidsgiver om at produktet er robust og korrekt nok til å møte brukerne. Testingen vil jobbe opp mot alpha og så beta utgivelse, førstnevnte vil bare være for et par utvalgte, mens sistnevnte for resten av verden som vil prøve. Testingsfasen vil gå hånd i hånd med programmeringsfasen, fra grunnleggende komponent til hele samspillet i løsningen. Side 8 av 9
Forbedring I forbedringsfasen skal man finpusse utseende og følelsen av nettstedet og eventuelt legge til noen ekstra funksjoner. Dette vil kun bli gjort mot slutten av prosjektperioden når et ordentlig fundament er lagt ned som tilstrekkelig tilfredsstiller kravspesifikasjonen. Milepæler - 21.1.2015 (Uke 4): Ferdigstille forprosjekt - 23.1.2015 (Uke 4): Innlevering forprosjekt - 11.2.2015 (Uke 7): Første prototype av webapplikasjon - 3.3 2015 (Uke 10): Ferdigstille kravspesifikasjonen - (Uke 11): Første Alpha versjon - (Uke 14): Første Beta versjon - (Uke 17): Endelig release - 20.5.2015 (Uke 21): Ferdigstille prosjektrapport - 26.5.2015 (Uke 22 Klokka 12:00): Innlevering av prosjektrapport - 8.6.2015-11.6.2015 (Uke 24): Presentasjon Side 9 av 9