L4 Synpotic Project
PROJECT
2nd December 2022
Introduction
For my level 4 software development apprenticeship, I had to produce a synoptic project. This can be thought of as a final project for the apprenticeship. This was graded and combined with my test results and portfolio grades to calculate my final grade.
The project is a week long (5 working days). You are given the choice between a few different project options; I chose to create a music player. I was then given a summary of the project, which lacked details such as requirements and any project specifications, this simply told me what the project was about.
On the first day of the project, I was under test conditions and was finally given the project requirements and specifications. The following project was completed within that 5 working day timeframe, including all development, testing, and documentation.
Project Overview & Objectives
I was given the following brief before working on my synoptic project:
You work for Rebmem Engineering that produces solutions for external clients. They wish to produce their own media player. They have the capability to produce the electronic hardware but need an interface to allow for the sale of the device as a portable music player.
Your manager would like you to take ownership of the initial concept. You will need to:
- Design, configure, test and install a Music player that meets business requirements.
- Roll out within the agreed time frame of a maximum of 5 days.
- Build an interface that allows for continuous improvement.
Business Requirements
The music player must:
- Allow music playback.
- Allow music playback when the device becomes idle. The device will automatically switch to idle mode to save power if no user interaction is recorded over a 30 second period.
- Have a random shuffle function.
- Have a search option for audio files within a media database.
- List display options by song track or album.
- Allow for a Creation of a song play list.
- Have user control over playback.
Project Outputs and Deliverables
Once completed, to demonstrate completion of the tasks I needed to provide a series of outputs:
Deliverable | Output | Evidence |
---|---|---|
Plan |
|
Application Layout |
Install / Configure |
Create the following to install and configure your Music Player:
|
Source CodeApplication Documentation, Application Layout, User Documentation |
Test |
|
Application Documentation, Tests |
Implement |
|
Application Documentation, Application Colours, Application Layout, User Documentation |
Final Product
The application turned out really well. The final design was heavily inspired by Spotify since it has such a simple yet user-friendly user interface.
Project Evaluation
In the timeframe given, I've managed to create a functional UWP application that delivers all of the specified requirements.
I did not feel it was enough time to write the application how I would've wanted. Due to time constraints, some code does not have thorough commenting, while other parts do. If I had more time, I would review all of the code I had written and completely document it. This would make future development much easier.
I also would've written more unit tests for the project. When it came to testing everything I had to do it manually while developing by creating a test plan. This test plan can be found in /Documents/Documentation/Testing/Tests.pdf. Writing unit tests would make the entire process much easier and in the future would make development faster since if something went wrong while developing the application, it should get caught by the unit tests if they're kept up-to-date.
Other articles
Read some more awesome articles
KDE Modern Plasma
9th June 2023
A modern Plasma system-wide theme for the KDE desktop environment.
Read MorePortfolio Website
5th June 2023
This is my self-hosted online portfolio, created with bootstrap, nginx, php-fpm, and containerised via Docker.
Read MoreTelegram IP Monitor
9th March 2023
Python based Telegram bot that monitors the public IP address of the network it is ran on. Notifies a telegram user when the public IP address changes.
Read More