internship project: checkin-app

Post on 06-Jul-2015

67 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

My internship project in the final year of my ICT studies at KAHO in Ghent, Belgium. A time-tracking webapp with additional hardware (Raspberry pi with NFC cards).

TRANSCRIPT

Thinline BVBA • 2012-2013 • Jesse Dobbelaere

Gamificatie op de werkvloer met

CHECK-IN WEBAPP

2

Goedemiddag, mijn naam is Jesse

@jessedobbelaere

3

STAGE OVERZICHTPeriode: 11/02/2013 tot 24/05/2013

Stagebegeleider: Van Damme Bram(us)

Stagementor: Van Snick Jo

Stageplaats: Thinline BVBA

Slachthuisstraat 2

9000 Gent

INHOUDBedrijf

Stageopdracht

Voorstudie

Uitwerking- Webapplicatie- Hardware

Besluit

4

BEDRIJF

5

BEDRIJFThinline BVBA in Gent- Jo Van Snick, Renaat Vervaeke, Frederik De Paepe

- Websites, webapplicaties (!), webshops, ...

6

BEDRIJFProducten van Thinline:- Creem & Creem CMS- ShopInABox- Motool - ...

Functie in het bedrijf: front-end developer

7

STAGEOPDRACHT

8

9

Work is hard. Distractions are plentiful. And time is short.— Adam Hochschild, journalist & auteur

“”

10

STAGEOPDRACHT: WAT?Geen strikt werkschema

Nood aan bijhouden van gepresteerde werkuren

“In- en uitchecken” principe

Hardware + webapplicatie nodig- PHP webapplicatie met MySQL database- Microcontroller met RFID/NFC lezer en LCD

STAGEOPDRACHT: GAMIFICATIEGamificatie = Concepten rond gamedesign integreren in omgeving die niets met games te maken hebben.

Enthousiasme opwekken

Badges als beloning

Score’s berekenen als indicator

Statistieken

11

VOORSTUDIE

12

SILEX

13

PHP micro-framework

Gebaseerd op Symfony2 componenten

Beknopt maar krachtig, veilig, uitbreidbaar

Pimple = dependency injection container

Composer = dependency manager

Providers toevoegen- Twig, Doctrine DBAL, repositories,

forms, validator, monolog, ...

RASPBERRY PI

14

RASPBERRY PISingle-board computer zo groot als credit-card.

Kostprijs € 40

Waarom zo goedkoop?- SoC = System on a chip, volledige computer

op één enkele chip- Linux OS (Debian variant)- Geen accessoires!

Toepassingen: home theater systeem, desktop computer, home automation, ...

15

RASPBERRY PIInterfacing zoals microcontroller- GPIO pinnen: invoer & uitvoer- Elektronica aansluiten (sensor, LCD,

motoren, ...)

Programmeren met Python- Hogere programmeertaal- Krachtig & snel- Grote standaardbibliotheek

16

RFID/NFCRFID = Radio Frequency Identification- Object identificeren met radiosignalen- RFID tags met identificatiecode

NFC = Near Field Communication- Uitbreiding van RFID- Veiliger! Minder groot bereik & encryptie

17

UITWERKING

18

RESULTAAT

19

Check-in webapplicatie- Gepersonaliseerd dashboard (badges, score, ...)- Statusboard- Adminpanel met check-in, profiles en

exceptions manager.

Hardware- Raspberry Pi (webserver, check-in monitor)- LCD scherm en NFC/RFID controller- RFID kaart voor elke werknemer

WEBAPPLICATIE

20

WEBAPPLICATIE

21

Streven naar MVC- Controllers, views en repositories

Inkomende request:

REST API- bv. /api/users/{id}/checkins/{id}

Request index.php bootstrap.phpapp.php

(Routing)

DASHBOARDBelonen met badges

Badges berekenen per check-in/dag/week/maand- CRON jobs!- Vervaldatum per badge

Statistieken- Indicatieve score- Grafische voorstelling van check-ins- Check-in info

22

23

24

25

STATUSBOARDOverzicht van check-in/check-out werknemers

Live updates

ADMIN PANELCheck-in + profiles + exceptions manager

26

DEPLOYMENTUploaden van code via FTP

Deployment via Capistrano!- Changes ophalen via SCM (Git, SVN)- Toegang via SSH- Taken automatiseren- Rollback mogelijkheid

27

HARDWARE

28

RASPBERRY PI

29

Configuratie van webserver- Nginx + PHP-FPM + APC- Performant + zuinig omgaan met resources

Apache webserver Nginx + APC

4615 ms 2485 ms

4041 ms 1922 ms

3577 ms 1753 ms

4209 ms 1773 ms

4091 ms 1764 ms

ASSEMBLAGELCD, NFC/RFID board en Pi Cobbler aansluiten

Python script programmeren- PN532 chip pollen via UART mode- Communiceren met API- Check-in registeren in systeem- LCD aansturen: info printen, backlight kleur

30

ASSEMBLAGE

31

BEHUIZING

32

3D model ontwerpen

Produceren met Makerbot Replicator 2- 3D printer- Biologisch afbreekbare kunststof: “PLA”- Laag per laag- Toekomst!

33

BEHUIZING

BESLUIT

34

Ideale vervanging van klassieke time tracking

Boeiend dankzij gameconcepten

Eenvoudig in gebruik

35

VRAGEN?

36

BEDANKT

Jesse Dobbelaere@jessedobbelaere

www.djss.be

top related