Introduction
Cloud Storage Solution is a feature-packed self-hosted cloud storage solution making it easy to host and store your files from anywhere!
View the full documentation via the GitHub Repository!
Features
- Feature-rich Web Interface.
- Full File Managament & Remote File Access.
- Gallery Feature.
- Secure Vault Feature.
- File Sharing via link or internally.
- External WebDAV Support.
- 2FA Account Security.
- Easy installation & guided system setup.
- Docker Support.
Tech Stack
- PHP
- Laravel
- MySQL
- Nginx/Apache
- Docker
FYP Overview
Prior to beginning my FYP, I've always noticed that there is a lack of diversity when it came to open-source, self-hosted cloud storage solutions, with most domianted by Nextcloud.
There were also various flaws and missing features in existing solutions, which I wanted to address with my own project.
Therefore, after some initial research, cloud storage solution was born.
FYP Report
The FYP report comes at the very heart of the final year project, documenting all aspects of the project from research, planning, development, testing and evaluation.
This spanned the entire academic year, with the final submission and viva presentation occuring in July.
The first half of the year focused solely on the report aspect of the project, where the following stages were discussed and documented:
- State of the Art Review - Researching existing solutions and technologies.
- Methodology - Planning the development life cycle and approach.
- Analysis - Requirements elicitation, research and planning through methods such as user stories, use cases and use case diagrams.
- Design - Wireframe prototypes for UX/UI design, database & system architecture design and user mapping.
Implementation, Testing & Evaluation
The second half of the year focused on the actual development, testing and evaluation of the project. This was definitely the much more exciting part of the project as I got to make use of all the prior research, planning and design to bring the project to life.
This spanned multiple months, with the following key areas covered:
- Implementation - Full development of the project, following a custom SCRUM development life cycle with weekly sprints.
- Testing - A variety of testing methods were used to ensure the quality and reliability of the project, including unit testing, integration testing and user acceptance testing.
- Evaluation - Evaluating the project against the initial requirements and objectives, as well as gathering user feedback for future improvements.
Each sprint of the development was maticulously documented in the FYP report, alongside all testing results and evaluation findings.
Overall, it was a massive success as I managed to fulfil nearly all of the functional requirements, even some that were prioritised as could and won't haves.
Conclusion
Overall, the project was a massive success and it was genuinely rewarding to see the project come to life after months of hard work and dedication. I received an excellent 83% (1st class) grade for the entire FYP and was also invited to present my project at Kingston University's FYP showcase event as it was ranked in the top few projects of the year!
In the end, the entire FYP cycle comes together perfectly as it allows you to experience the full software development life cycle, from initial research and planning, to design, development, testing and evaluation. It was an invaluable learning experience that has definitely prepared me for future endeavours in the software development industry.
