Nathan Affleck

Buddy App API

Skills used

  • Javascript
  • Data Seeding
  • Express.js
  • MVC
  • MongoDB
  • RESTful APIs
  • Jest

Summary

For the backend section of the project, I was involved in implementing the Express.js routes to interact with our database, creating tests for our services and controllers, and implementing error handling. This project was completed over a short 7-day period of sprints, with trying new technologies as a requirement.

What Went Well

  • Designed and executed the data model from the planning stage into code, assisting in seeding the database.

  • Assisted successfully the data transformation from an external API to populate our applications database.

  • Implemented additional features for plant journaling and adding plants from our ‘Bud Database’ into the user’s garden.

  • Contributed to the Jest test suite to ensure our outputs from our services were consistent and usable for the frontend.

What I Learned

  • Taking the noSQL/non-relational approach to databasing with MongoDB, and some of the benefits and limitations of using this approach.

  • Solving data design problems and mapping these to visualise relationships that support functionality.

What I’d Improve

  • Delve deeper into database design for handling user authorization and authentication.

  • Implement functionality only when required, avoiding speculative development, and synchronising feature implementation with frontend requirements.