Logo
Norton Andreev
May 16, 2019

Software Hut - Learning Spaces

Software Hut

Software Hut is a microcosm of Software House and provided me with the opportunity to work with a real client and further develop my software engineering skills, part of the which were covered in previous modules I have taken as part of my degree. The module gave me a taste of some of the problems which I might encounter in a real working environment, such as working with apathetic team members or being forced to use an outdated software. On the other hand, I really enjoyed building a software for a client - the experience of getting the customer's requirements right, through building concepts and delivering a high-quality, future-proof system, regardless of the issues I have run into during the process.

The assessment was comprised of several different components, such as team organisation and management, progress with implementation, documents (story cards, requirements documents, database design, state-machine diagram, mock-ups and manuals), unit and system tests, quality assurance task, communication with the client throughout the semester, the quality of the system (ease of use, completeness, innovation and robustness), as well as the overall impression of the system.

Learning Spaces

Our client was the University of Sheffield Library who was looking to replace its current static website with a dynamic application. “Learning Spaces” is about helping students finding their preferred study space, based on location and filters. We were shown a similar system, made by another UK-based university, as an example of what was expected as a final result. Having seen the example provided, I wanted to build an app which would provide similar functionality in a simpler and more effective way, while also providing familiar experience to the University of Sheffield students.

My design is based on the latest trends in web design. It is fully responsive and offers three different viewports - for mobile, tablet and desktop devices - so that the screen estate can be utilised in the best possible way. What is more, some of the elements are rounded, so that it can look better on mobile devices with edge to edge displays. As there is a map for showing the user’s location and the University’s buildings, as well as list with buildings with an image of each, I wanted to have the colour scheme as clean as possible, so I used white all around and, as an accent colour, I have chosen the shade of blue, which is part of the University's logo. What is more, the typeface is the one that is used for the official University website.

The website shows all of the University buildings, sorted by distance, with closest to the user being on top. The pins on the map show the location of each building and are also colour-coded, based on current status of the building (currently open, closing within an hour or closed). The user can filter based on the type of study spaces he is looking for or based on facilities, such as café or computer rooms. On clicking “Read More” for a given building, the user can see detailed information about the building, additional and exam information, study spaces and facilities available, opening hours for each day of the week, address and contact details.

There is also an admin panel where buildings, study spaces, facilities, special periods and admins can be created, edited and deleted. The system comes with additional features, such as exam-only buildings and support for different operating hours for each special period, which are fetched from the database as efficiently as possible.

The project was built with Ruby on Rails and it uses different web technologies, such as SCSS, HAML and JavaScript. It was designed and developed in a way that would allow an easy expansion, both content and feature-wise. User, admin and developer manuals were written and delivered to the client, so that other developers can implement new features and make changes, if needed. Apart from communicating with the client, eliciting requirements, designing and building the system, writing manuals and managing the team, I also took part in the quality assurance process, during which I had to test a system, built by another team, and had to provide a detailed feedback about it.

As we had to work for the library team, we had different staff members attending different meetings, which required finding the best way of building a system that could satisfy them all. The good communication skills with all of the clients were prised during the feedback session and were also given as a reason why other teams might have failed to live up to the expectations. The client also mentioned the poor design choices and feature implementation of the other two teams who were working on the same project. The quality of my design was pointed out as the biggest advantage of our submission and I got 97%. As being the best one, our project was awarded and also a customer satisfaction of 100% was achieved.