Kinder was a fun little project I created while at University, where users could visit a site and are presented with cat images which they can rate using emojis. Each vote they cast adds to cat’s overall cuteness rating, with a live-updated feed of the Top 5 cats presented at the bottom of the page. The frontend of the application is built using the Angular 8 framework, while the backend is constructed using express implementing an MVC repository pattern with a supporting MongoDB DB layer.

Skills Developed

  • Independent Full-stack architecture design.
  • Use of WebSockets, Cookies and JSON web-tokens.
  • Web API development using Express.
  • Use of MongoDB in a document repository context.
  • Applying a Test Driven Development (TDD) Strategy and leveraging Dependency Injection for code testability.
  • Implementing a CI pipeline, ensuring high-quality code.

Overall Outcomes

This project helped to clarify some core concepts within Web API development and apply industry-standard technologies (WebSockets/Cookies/JSON web-tokens) I was yet to experience. The project also forced a necessity to consider the wider architecture of the applications and contemplate service interactions on a greater scale. I eventually settled on an MVC Repository pattern as it decoupled business logic within the controllers from the database access layer.

This was also my first project were I applied TDD approach, to which I saw great benefit. From the get-go I was forced to consider how my application would be constructed and designed, as well as, how I would ensure each element of my code was testable. I implemented an Azure CI pipeline to build and produce test reports, certifying my application could build and run outside of my development environment.

Links

Kinder Repository