Gå til innhold

HourReg - Timeregistrering verktøy for små bedrifter.


Anbefalte innlegg

Hei.

 

Som et hobbyprosjekt har jeg begynt å lage et verktøy til timeregistrering. Hovedgrunnen til prosjektet er for å kunne utvikle meg selv innen programmering da jeg ikke får nok kompetanse på dette via jobb. Jeg tar også gjerne i mot forslag til endringer/bedre løsninger via min kommentar tråd.

 

Verktøyet er en nettsiden der brukere kan logger seg inn, føre timer og se/redigere timer de har ført. Det vil også være administrasjon funksjoner som å legger til nye personer med mer.

 

Jeg har valgt å bruke bootstrap for å enkelt kunne gjøre nettsiden responsive. Så front end blir HTML5, CSS og JS. Backend blir PHP og MySQL.

 

Planen er å holde alle språkene/funksjonene adskilt i egne filer (spesielt med tanke på at PHP er server side) så jeg kan enkelt bruke cache for å få raskere responstid på selve nettsidene. Det kan tenkes jeg lager en enkel Android app etter hvert som åpner nettsiden i et webview. (webview er jo spesielt bra etter Android 4.4 oppdateringen med chromium som base.)

 

Jeg er ingen profesjonell programmerer som nevnt tidligere og tar derfor gjerne i mot tilbakemeldinger. Håper dere synes dette prosjektet høres spennende ut :)

 

Jeg kommer med mer info litt senere i dag.

Lenke til kommentar
Videoannonse
Annonse

Tenkte jeg skal nevne litt om hvordan jeg tenker strukturen og flyten i løsningen. Planen er som tidligere nevnt å dele opp funksjoner/språk. Både for struktur og for enklere kunne cache deler av applikasjonen ("statiske filer", html, css og js).

 

Jeg begynner med en ganske simpel løsning som man enkelt kan bygge videre på. Flyten i løsningen: Brukergrensesnitt er basert på bootstrap, deretter har jeg JavaScript funksjoner som bruker $.post() (jQuery) mot en php fil. Inne i php filen hentes verdiene ut av forespørselen ved $_POST[] dersom dette er nødvendig. Neste steg er at jeg bruker PDO grensesnittet til å anrope en stored procedure som er lagret på MySQL serveren. Deretter er det stored proceduren som inneholder SQL koden som for eksempel insert, select osv..

 

Her er utkast til databasen så langt. Gi gjerne tilbakemeldinger.

 

HourReg%20Database.PNG

 

Litt forklaring til DB:

 

Activity salary_amount vs Employee hourly_rate: Tanken er at dersom man får for eksempel KM godtgjørelse så vil verdien som står i Activity salary_amount overstyre hva man får utbetalt per stk.

 

Activity multiplier: Dette er for å vite hvor mange ganger lønnen for eksempel overtid vil være verdt. Så om du får overtid 100% så vil verdien i dette feltet være 2 og om du får vanlig timelønn vil den være 1 osv.

 

Hour locked: Når man kjører en rapport for å vite hvor mye hver enkelt arbeider får utbetalt så har man muligheten til å merke disse timene med at de er utbetalt. Da vil locked få verdien "on" eventuelt 1. Dette vil også føre til at man ikke har mulighet til å redigere timene.

Endret av GrinJe
Lenke til kommentar

Etter en liten gjennomgang av databasen har jeg fjernet Employee_Info og lagt til User. De siste dagene har jeg sett på løsninger av innlogging. Jeg kommer til å bruke password_hash for å oppnå sikkerhet på passordene til brukerne. Når man logger inn på websiden har man også mulighet til å bytte språk. Per nå er det kun lagt inn Norsk og Engelsk.

 

Legger ved en oversikt over DB som den er nå:

HourReg%20DB.jpg

Lenke til kommentar

Hei, takk for tilbakmelding.

 

Ja, har tenkt på det. Derfor er det Hour og Expenses som samler info om hver enkelt time( r ). Du kan maks han et prosjekt, en ansatt og en aktivitet per timeføring. Samme gjelder utgifter (Expense).

 

Punktet med underprosjekt er ikke en dum ide, jeg sikter på mindre bedrifter, men selv de kan fortsatt tenke seg å kunne dele opp timer i moduler og lignende. Skal se litt mer på dette og snakke med en kunde (entreprenør) om hva de tenker om dette.

Endret av GrinJe
Lenke til kommentar

Jeg fikk tips om å bruke angularJS og jobber nå med å skrive om applikasjonen så den fungerer med dette. Blir mye mindre kode å skrive på de ulike html sidene og enkelt et bra system. Har snakket litt med en kamerat som kan en del design og får kanskje han med på prosjektet.

 

Kommer med mer etterhvert :)

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

Hvis du skal bruke PHP bruk et MVC rammeverk. Det hjelper deg å holde koden ryddig og du slipper å finne opp hjulet på mange grunnleggende ting som autentisering og sessjonsbehandling ++ på ny.

 

Selv bruker jeg laravel. Jeg har lagd noe lignende som du jobber med nå og har fått på plass en god del funksjonalitet - selv om programvaren fortsatt er i alpha (da det er masse mer funksjonalitet jeg ønsker å bygge på dette) er det meste på plass og fungerer.

 

Edit: Det går fint å bruke JS rammeverk som AngularJS med laravel også forresten, da laravel veldig enkelt lar deg formatere responses med json f.eks

Endret av Gjest slettet-ld9eg7s96q
Lenke til kommentar
  • 4 uker senere...
  • 2 uker senere...
  • 2 uker senere...

 

 

 

Skrives ting fortsatt i PHP? ;o

 

Noe må man jo ha på baksiden også, men mange bruker vel Node.js der så de får javascript i hele stacken.

 

 

Var vel mer ment som et spøk. Ta en tur innom /r/badcode så finner du mange eksempel fra PHP-kildekoden.. Trist, men sant.

 

Og bare for å legge til; alle språk som kan åpne en socket kan brukes i backend.

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

 

 

 

 

Skrives ting fortsatt i PHP? ;o

 

Noe må man jo ha på baksiden også, men mange bruker vel Node.js der så de får javascript i hele stacken.

 

 

Var vel mer ment som et spøk. Ta en tur innom /r/badcode så finner du mange eksempel fra PHP-kildekoden.. Trist, men sant.

 

Og bare for å legge til; alle språk som kan åpne en socket kan brukes i backend.

 

 

> Impliserer at man ikke kan skrive spaghetti / dårlig kode i andre språk

Lenke til kommentar

 

 

 

 

 

Skrives ting fortsatt i PHP? ;o

 

Noe må man jo ha på baksiden også, men mange bruker vel Node.js der så de får javascript i hele stacken.

 

 

Var vel mer ment som et spøk. Ta en tur innom /r/badcode så finner du mange eksempel fra PHP-kildekoden.. Trist, men sant.

 

Og bare for å legge til; alle språk som kan åpne en socket kan brukes i backend.

 

 

> Impliserer at man ikke kan skrive spaghetti / dårlig kode i andre språk

 

Nei, men det er en god del lettere i PHP. Pluss det er lettere å få med seg dårlige vaner når det er en hel haug av dem som PHP utviklere finner "naturlig".

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

Nei, men det er en god del lettere i PHP.

Forklar hvordan det er en god del lettere å skrive dårlig kode i PHP kontra andre språk.

 

Er man en kompetent koder, skriver man god kode i det språket man er kompetent i. Er man en inkompetent koder, spiller det ikke noe rolle hva man programmerer i, man genererer søppel uansett.

 

Hvis påstanden din var at man finner flere inkompetente kodere blant PHP mengden enn i andre miljøer kunne jeg vært enig med deg hvis dette var 2005, da PHP tiltrakk seg alskens rabbel. Mye kodebase fra den tiden henger igjen (hallo wordpress). Det finnes dog i dag mye god PHP kode (til tross for PHP's indre svakheter). Se for eksempel på laravel, Symfony eller CodeIgniter.

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

 

Derfor er det best å holde seg unna PHP.

Jeg har lest den artikkelen (den har en høy rangering på google. Google er perfekt å bruke hvis man ikke har en kvalifisert mening å komme med selv btw)

 

Ingen benekter at PHP har en del store svakheter. Men det meste av det forfatteren her terper på fikses ved å holde seg til et godt API og faktisk vite hva man driver med.

 

Og alle språk har sine kritikere. Hvis du har lest Erik Naggum, eller Linus Thorvalds mange rants mot C++ for eksempel, skulle man få inntrykk av at programmeringspråket var satans avkom. Det hindrer ikke det faktum at mye bra kode skrives i C++ og (mye horribel søppel produseres i det språket også btw). Det samme gjelder PHP.

Lenke til kommentar
  • 1 måned senere...

 

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

 

Derfor er det best å holde seg unna PHP.

Jeg har lest den artikkelen (den har en høy rangering på google. Google er perfekt å bruke hvis man ikke har en kvalifisert mening å komme med selv btw)

 

Ingen benekter at PHP har en del store svakheter. Men det meste av det forfatteren her terper på fikses ved å holde seg til et godt API og faktisk vite hva man driver med.

 

Og alle språk har sine kritikere. Hvis du har lest Erik Naggum, eller Linus Thorvalds mange rants mot C++ for eksempel, skulle man få inntrykk av at programmeringspråket var satans avkom. Det hindrer ikke det faktum at mye bra kode skrives i C++ og (mye horribel søppel produseres i det språket også btw). Det samme gjelder PHP.

 

 

Man må derfor holde seg til et godt API for å skrive god kode. Hvordan er det APIet skrevet? Med et godt API i bunnen?..

 

 

Man trenger ikke et API i f.eks C++ for å skrive god kode. Forsåvidt ikke mange andre språk heller.

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

Man må derfor holde seg til et godt API for å skrive god kode. Hvordan er det APIet skrevet? Med et godt API i bunnen?..

 

 

Man trenger ikke et API i f.eks C++ for å skrive god kode. Forsåvidt ikke mange andre språk heller.

Det har jeg aldri påstått heller, men det hjelper betraktelig - i alle fall når det kommer til PHP å bruke et MVC rammeverk/API når det kommer til lesbarheten til koden og unngå mange fallgroper man lett kan tråkke i. Det gjelder spesielt for uerfarne kodere (som gjerne finner seg frem til PHP som sitt første programeringsspråk)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...