Internship posting

About ToThePoint

We design state of the art architecture and ensure end-to-end solutions for our clients.
All our consultants are highly experienced professionals and passionate about technology and software development. We help organisations evolve their IT solutions to gain and maintain a competitive edge for the future.

MatchPoint - Applicatie om tornooien mee te organiseren
Period: between October 2018 and December 2019
Duration: 1 to 4 weeks, 5 to 10 weeks, 11 to 15 weeks, 16 to 20 weeks, More than 20 weeks
Location: Veldkant 33B, 2550 Kontich
Possibly leading to future employment: Not specified

Description

Field/Project Ontwerp en bouw van een applicatie om tornooien mee te organiseren en
scores in bij te houden met leaderboard en exposed api for externe raadpleging.

Mission - Omschrijving van de opdracht
- Binnen ToThePoint worden ook stevig wat speltornooien georganiseerd. Zo hebben we
onze eigen arcade kast waarop oude klassiekers als Pac Man, Mortal Kombat of Streetfoghter duchtig op gespeeld worden. Maar aangezien we consultants zijn en bijgevolg niet heel veel op kantoor aanwezig zijn hebben we ook aan remote distributed ontspanning met de collega's gedacht. Hiervoor hebben we een eigen TetriNet server ontwikkeld en hosten we die in de cloud waardoor we met de collega's allerlei varianten van Tetris tegen elkaar spelen.
- Een tornooi bestaat uit 1 of meerdere spellen, heeft meerdere deelnemers, en die moeten
kunnen uitgenodigd (uitgedaagd!) kunnen worden en de scores moeten kunnen
bijgehouden worden.
- Voor de scoring zelf wensen we meerdere scoringmechanismes te kunnen voorzien.
- Een externe API moet ons loeten om de gegevens te kunnen ontsluiten zodat ook externe
applicaties aan de slag kunnen met de verzamelde data (denk hierbij aan een leaderboard wat wij ook willen kunnen tonen op ons intranet of zelfs publieke website, alsook tweets over nieuw behaalde high scores bvb)
- De opdracht van deze stage is om een applicatie te bouwen waarmee we tornooien met
zowel offline games (zoals bvb de arcade kast) alsook online games (zoals distributed Tetris) kunnen orgniseren, de scores bijhouden in leaderboards, en de hierboven beschreven API de gegevens ontsluit.

Technical background - Doelstellingen
- Functionele analyse
- Ontwerp van een responsive UI
- Ontwikkeling van backend en frontend volgens de self-contained systems architectuur (zie Stefan Tilkov's uitleg over SCS op http://scs-architecture.org) - Opzet van een continuous deployment pipeline
- Deployment met Docker op een Google cloud-hosted Kubernetes cluster

Wat ga jij er zelf aan hebben / uit leren: welke competenties en kennis zal je vergaren
- Leren hoe je end-to-end een enterprise-grade production-ready web applicatie ontwerpt, bouwt en oplevert
- Kennis over en ervaring met Docker opdoen
- Real-world kennis over en ervaring met Kubernetes en Google cloud opdoen
- Het zalige gevoel hebben dat je eigen ontwerp effectief in productie zal genomen worden

- Te gebruiken technologiee?n
o Java
o Spring Boot
o VueJS
o Docker
o Kubernetes
o Google Cloud
o Kafka