際際滷

際際滷Share a Scribd company logo
Thinline BVBA  2012-2013  Jesse Dobbelaere
Gami鍖catie op de werkvloer met
CHECK-INWEBAPP
2
Goedemiddag,mijnnaamisJesse
@jessedobbelaere
3
STAGEOVERZICHT
Periode: 11/02/2013 tot 24/05/2013
Stagebegeleider: Van Damme Bram(us)
Stagementor: Van Snick Jo
Stageplaats: Thinline BVBA
Slachthuisstraat 2
9000 Gent
INHOUD
Bedrijf
Stageopdracht
Voorstudie
Uitwerking
- Webapplicatie
- Hardware
Besluit
4
BEDRIJF
5
BEDRIJF
Thinline BVBA in Gent
- Jo Van Snick, Renaat Vervaeke, Frederik De Paepe
- Websites, webapplicaties (!), webshops, ...
6
BEDRIJF
Producten 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:GAMIFICATIE
Gami鍖catie = Concepten rond gamedesign integreren
in omgeving die niets met games te maken hebben.
Enthousiasme opwekken
Badges als beloning
Scores 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, ...
RASPBERRYPI
14
RASPBERRYPI
Single-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
RASPBERRYPI
Interfacing zoals microcontroller
- GPIO pinnen: invoer & uitvoer
- Elektronica aansluiten (sensor, LCD,
motoren, ...)
Programmeren met Python
- Hogere programmeertaal
- Krachtig & snel
- Grote standaardbibliotheek
16
RFID/NFC
RFID = Radio Frequency Identi鍖cation
- Object identi鍖ceren met radiosignalen
- RFID tags met identi鍖catiecode
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, pro鍖les 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.php
app.php
(Routing)
DASHBOARD
Belonen met badges
Badges berekenen per check-in/dag/week/maand
- CRON jobs!
- Vervaldatum per badge
Statistieken
- Indicatieve score
- Gra鍖sche voorstelling van check-ins
- Check-in info
22
23
24
25
STATUSBOARD
Overzicht van check-in/check-out werknemers
Live updates
ADMINPANEL
Check-in + pro鍖les + exceptions manager
26
DEPLOYMENT
Uploaden van code via FTP
Deployment via Capistrano!
- Changes ophalen via SCM (Git, SVN)
- Toegang via SSH
- Taken automatiseren
- Rollback mogelijkheid
27
HARDWARE
28
RASPBERRYPI
29
Con鍖guratie 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
ASSEMBLAGE
LCD, 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

More Related Content

Internship project: Checkin-app