Reflection
When I first envisioned this Personal Pursuit, I put the focus entirely on learning about a single technology to develop a web application. Over time, it has grown to a much more complete and valueable project that included a structured design process, a thorough comparison of different technologies, and finally, a development stage.
Learning Objectives
At the start of the project, I set three learning goals that cover the different stages of the project:
-
Conceive, design, and execute a goal-oriented learning experience at an academic level, inspired by a personal interest or passion.
With help of my supervisor, I was able to set up and follow a structured design process that allowed me to dive into the ins and outs of development using a web framework, while combining it with my passion of photography.
-
Understand and explain the differences between different options of technologies, and be able to select appropriate technologies for a web application.
I have reached this goal by comparing the most popular technologies in three different categories: web frameworks, databases and data storage. Especially the comparison of frameworks – the field I was least familiar with – has been very useful in getting to understand the differences – and, not unimportantly, the similarities – between some of the most popular options.
Although I performed a structured comparison of the different choices based on the requirements of the photo gallery, it wasn’t always easy to find a single most suitable candidate, as some options were very close in their capabilities. Nevertheless, I was able to pick an appropriate set of technologies for the gallery, that turned out to work well during the development.
-
Be able to apply and integrate a web framework with other technologies to develop web applications.
Using the selected technologies – Next.js as the framework, PostgreSQL for the database, and files as a storage method – I was able to build a functional photo gallery that meets most of the stipulated requirements (and could be extended to meet the others in the future).
Starting from my basic knowledge about web development, this development process allowed me to expand my understanding of the involved technologies and how to integrate them, as well as some other tools that proved useful in the development. There is still a lot to learn when it comes to advanced features and additional libraries, but the skills I gained during this project are a great starting point for further growth.
Academic Development
Completing this Personal Pursuit and reaching these learning goals have contributed to me becoming a better engineer. Not unimportantly, by teaching me about new technologies and how to use them, as well as the field of web frameworks in general.
But above all, I learned about how to execute a design process that includes a thorough comparison of the needed technologies based on the requirements of the application. Determining what tools to use for projects is an essential skill for engineers, and this project enhanced my abilities to make such choices for all kinds of projects in the future.