








Requirements Overview
- Research and development project – the objective was to build a simple test application that Dyslexia Action’s specialist teachers could use to experiment with building and playing custom learning games.
- This allowed them to look at delivering their specialised learning content more interactively and engage with their customers in new and exciting ways.
- Connect4 games can be played live by a group of 4 – 5 students.
- The app includes 2 customisable games templates: Connect4 and Flash Cards.
- Teachers are able to select a template and populate it with educational text and image content.
- In the case of Connect4, teachers were able to configure which were the winning ‘rows-of-4’, and whether a player’s move in the game had to be ‘approved’ by the teacher.
- Flash Card games can be played individually by any number of users.
- Players can join a game simply by navigating to a unique URL and entering an alias – the objective here was to make sure we made it as easy as possible for a Dyslexia Action tutor group to setup a game.
- Game activity is logged so that the teacher can recap in the future.
- Teachers can ‘publish’ their games to a public library, where others can then download and use them.
- Students have the option to signup after they had played through a game.
- Students that have signed up are restricted to only creating Flash Card games and are not able to publish them in the public library (complex access control model).
- Backend administration panel so that the Dyslexia Action administrators can create new users on the system.
Stack
- LAMP
- Symfony – PHP Framework
- Doctrine 2 – ORM
- Angular.js – Frontend JS Framework
- LESS
- Bootstrap – Frontend CSS Framework
- Pusher – Realtime Push Notification Service
- PHPUnit – Unit Testing
- S3 – File Storage
- EC2 – Elastic Cloud Hosting
- Selenium – Functional Testing
- Grunt – Build Task Management
- Bower – JS Dependency Management
- Composer – PHP Dependency Management
- Git – SCM
- Bitbucket – DVCS
- JIRA – Issue Tracking