Start App verbinding | App installatie Een account creëren ...
Internship project: Checkin-app
-
Upload
jesse-dobbelaere -
Category
Technology
-
view
66 -
download
0
description
Transcript of Internship project: Checkin-app
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?