This was the first year-long project I took part in at the FHNW. This meant that there was some uncertainty as to how we should progress inside our team of eight. Much of this came from us working with Moodle, a platform we were struggling to understand. After progress slowed down more and more we decided to approach our client with an alternative: a custom solution, developed completely from scratch.
We knew about the required functionality from the beginning of the year, we had prototypes designed to show how the interaction would work, both of which allowed us to get started with our new approach very quickly. Going for a Laravel-like setup helped a lot with initial complications so making up the time we lost working with Moodle was easily done.
The LMS was to be used for teaching students at the FHNW about a set of project management tasks by offering them a combination of educational texts, practical examples and exercises. The most complicated part of this were the exercises, which included a multiple-choice task, a Belbin Test, SWOT analysis and a general planning test.
Despite the strict time window we managed to cover all requirements in a satisfying way and to create a maintainable, well-documented solution that would later be used by the FHNW.
Things I've learned
Instead of relying on one of the popular PHP frameworks we decided to pick the pieces we needed and create a custom solution. This was partially due to lack of experience in the field, but it turned out to not be a problem, combining parts of the various frameworks. Still, our solution ended up closely resembling a Laravel setup.
It was important for us to have a well-documented solution that could be used as the base for a succeeding student project in a later year. This is why we spent a lot of time writing comments and general documentation for all the project disciplines. I learned a lot about automating documentation generation and how to write useful comments in code.
In the second half of the project I was responsible for Usability Testing. This meant I had to do testing with various participants, sometimes even in the Usability Lab at the FHNW, which offers eye tracking and other useful tools for the field. This experience showed me the importance of thinking about usability early on and how to assess the usability of an application.
Technologies I've used
The project was rather simple on the technological level. It is mostly written in PHP, along with some Twig templates and Sass for styling. The technological simplicity allowed us to spend more time learning more about the languages we used, instead of having to learn a framework from scratch.