Internship project: Checkin-app

201 views
160 views

Published on

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).

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
201
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Internship project: Checkin-app

  1. 1. Thinline BVBA • 2012-2013 • Jesse Dobbelaere Gamificatie op de werkvloer met CHECK-INWEBAPP
  2. 2. 2 Goedemiddag,mijnnaamisJesse @jessedobbelaere
  3. 3. 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
  4. 4. INHOUD Bedrijf Stageopdracht Voorstudie Uitwerking - Webapplicatie - Hardware Besluit 4
  5. 5. BEDRIJF 5
  6. 6. BEDRIJF Thinline BVBA in Gent - Jo Van Snick, Renaat Vervaeke, Frederik De Paepe - Websites, webapplicaties (!), webshops, ... 6
  7. 7. BEDRIJF Producten van Thinline: - Creem & Creem CMS - ShopInABox - Motool - ... Functie in het bedrijf: front-end developer 7
  8. 8. STAGEOPDRACHT 8
  9. 9. 9 Work is hard. Distractions are plentiful. And time is short. — Adam Hochschild, journalist & auteur “ ”
  10. 10. 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
  11. 11. STAGEOPDRACHT:GAMIFICATIE Gamificatie = 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
  12. 12. VOORSTUDIE 12
  13. 13. 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, ...
  14. 14. RASPBERRYPI 14
  15. 15. 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
  16. 16. RASPBERRYPI Interfacing zoals microcontroller - GPIO pinnen: invoer & uitvoer - Elektronica aansluiten (sensor, LCD, motoren, ...) Programmeren met Python - Hogere programmeertaal - Krachtig & snel - Grote standaardbibliotheek 16
  17. 17. RFID/NFC RFID = Radio Frequency Identification - Object identificeren met radiosignalen - RFID tags met identificatiecode NFC = Near Field Communication - Uitbreiding van RFID - Veiliger! Minder groot bereik & encryptie 17
  18. 18. UITWERKING 18
  19. 19. 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
  20. 20. WEBAPPLICATIE 20
  21. 21. 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)
  22. 22. DASHBOARD Belonen 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. 23. 23
  24. 24. 24
  25. 25. 25 STATUSBOARD Overzicht van check-in/check-out werknemers Live updates
  26. 26. ADMINPANEL Check-in + profiles + exceptions manager 26
  27. 27. DEPLOYMENT Uploaden van code via FTP Deployment via Capistrano! - Changes ophalen via SCM (Git, SVN) - Toegang via SSH - Taken automatiseren - Rollback mogelijkheid 27
  28. 28. HARDWARE 28
  29. 29. RASPBERRYPI 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
  30. 30. 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
  31. 31. ASSEMBLAGE 31
  32. 32. BEHUIZING 32 3D model ontwerpen Produceren met Makerbot Replicator 2 - 3D printer - Biologisch afbreekbare kunststof: “PLA” - Laag per laag - Toekomst!
  33. 33. 33 BEHUIZING
  34. 34. BESLUIT 34 Ideale vervanging van klassieke time tracking Boeiend dankzij gameconcepten Eenvoudig in gebruik
  35. 35. 35 VRAGEN?
  36. 36. 36 BEDANKT Jesse Dobbelaere @jessedobbelaere www.djss.be

×