Back to Portfolio

Centre for Cybersecurity and Mathematical Cryptology

Mar 22, 2024

project image

Background

The Centre for Cybersecurity and Mathematical Cryptology is where I'm currently enrolled for Master degree in Cybersecurity. Well around last year April 2023 when I had just taken my leave from work, I got a call about a new program coming to my University and because I'm a professional, my professor requested that I build this site for the school. I didn't think twice and took the job. It was done a few months later, and I was pretty happy about the result. 

Project Stack:

I used an HTML template for 'quickly' building the front end and #PHP/Laravel for the backend, using #filamentphp for the admin dashboard structure.

Challenges and lessons learned 

  1. No project is as simple as it is from the beginning: When I got the call, I just thought it was going to be something pretty small but as I went on building, I was met with more features and requests much more than I expected. I was able to take time plan and execute them feature by feature. 
  2. Never start a project without a contract: This is not to say it was a bizarre experience, but I think I missed out on this one because of familiarity and didn't stick to business policies. These set of policies only make the work and client developer relationship professional even if you both have quite a fun relationship outside that. I quickly realized that and made sure to submit a simple invoice to make sure that we were moving in the right direction. This allows for each party to keep things straight to the point.
  3. I learnt much more about building and deploying while in production: Thanks to Laravel Forge I was able to build and push my work even while in production. Of course, this is sometimes risky but that will be something for another day. I simply made sure that I was testing my work on a staging server before pushing the work from my dev branch to the main production branch. This allowed for a seamless zero-downtime deployment for me and the client. 
  4. You have to do the work yourself: Even though client requests keep coming, you would think that the client understands what he/she needs but that's not true.  You have to do the hard work of researching and understanding what the client wants and then providing great suggestions on how well you think it will work for them as per the choice of implementation. 

At the end of the day, this is one of the projects I'm very proud to have built so far. It's actively being maintained by me and I keep adding more and more features. On the side, I keep looking for ways to improve. 

Quick links

Technologies and resources used

  • PHP/Laravel
  • Filament Package