Proposal
This website was created as part of a Personal Pursuit at the University College Twente (ATLAS). This chapter contains the official proposal for the project.
Basic Information
Title
Web Application Development: Building a Photo Gallery
Student
Martijn Atema
Period
PP2
Abstract
For this Personal Pursuit, I will dive into my passion of software development and improve my understanding within the field of web application development. With a focus on web frameworks, I will first analyse and compare different technologies that can be used in web applications.
This analysis will lead to a “web stack”, a selection of technologies which will form the basis of the application I will develop next: a photo gallery that can manage my thousands of pictures, as well as those of anyone that wants to use it.
Topic
What is your topic? Explain why you are passionate about or interested in this topic?
Programming software is something that I’ve been interested in for a long time. Already in the first years of high school, I started building small applications and websites, with Visual Basic and PHP. Through the years, I added many more languages, technologies, and tools to that list, and figuring these out has always been a joy to me. Nevertheless, it is a field that keeps developing, and one has to keep learning to stay up-to-date.
For this Personal Pursuit, I want to further expand my understanding of web applications. Within this field, numerous meta-frameworks (libraries that combine server and client code into one framework) have emerged over the past years, and have become a popular choice for web-based software. Instead of choosing the most interesting or popular one of them, I will compare a selection to find which works best for my use case. In addition, I will compare options for other components that are essential to the application, such as databases, to come to a useful “stack” of technologies.
The application that I will apply these in shall solve an issue with another hobby of mine: photography. Over the years, I have collected tens of thousands of photographs – some with family, some with friends, and some of just nature. The photo gallery application I will make should put an end to the nightmare that is managing these and put the pictures back into the spotlight where they belong.
Learning Objectives (max. 3 objectives)
What are the learning objectives you wish to reach in this PP? A learning objective indicates what you aim to understand, or be able to do after completion of your of your PP. One objective is given.
Objective 1
Conceive, design, and execute a goal-oriented learning experience at an academic level, inspired by a personal interest or passion.
Objective 2
Understand and explain the differences between different options of technologies, and be able to select appropriate technologies for a web application.
Objective 3
Be able to apply and integrate a web framework with other technologies to develop web applications
Explaination
Explain how reaching these objectives goes beyond the regular ATLAS curriculum and how it contributes to you becoming a ‘well-rounded’ new engineer.
These objectives go beyond the regular curriculum by placing an extra focus on finding “the right tool for the job”, a choice that is often made for you in regular courses (where the focus is on one specific technology), or not emphasised (like in semester projects). Especially when starting new projects, but also when adding new components to existing projects, being able to choose the correct technologies is essential.
A well-rounded engineer should be able not only use the tools that are available to them, but also select which tools to use. Together, the learning objectives for this Personal Pursuit cover the technological process of developing an application in a structured manner: from an idea to a final product. These abilities to research, compare, select, and integrate different technologies are integral to the development process not only in this field, but anywhere.
Activities
Main activities
What are you going to do? Specify the main activities of your PP through which you intend to reach your learning objectives.
Broadly, the activities in my Personal Pursuit can be divided into a research and development phase, which will help me reach the second and third learning objectives respectively. The first learning objective is covered by the project in its entirety.
During the research phase, the focus will be on comparing different technologies. In a web application, different components work together to perform operations. To come to a selection of technologies for the photo gallery, I will compare options in the categories of frameworks, databases, and data storage.
For each of these categories, I will establish a set of criteria and their importance to the project. These shall cover the features of the technology, but also other factors, such as the developer experience. To come to the final choices, a preselection of the most popular alternatives will be analysed and compared against these criteria. The best-fitting option in each of the categories will be taken to the next phase of the project.
The development phase will start with a brief design stage, during which I will inspect other photo galleries (both offline and online) and create a mockup of my own design. With this design, I aim to adhere to responsive design principles, to ensure the photo gallery will be usable on a broad variety of devices.
The main focus in this phase, however, lies on the development itself. I will study the chosen technologies further, and integrate them with my own code to develop a web application that is fully functional and works according to the set requirements. Afterwards, I will reflect on the chosen technologies and the development process.
Final product
What will your final product be?
For the first phase, I will create a website that documents the different technologies that I study. This will also include my reasoning behind the technologies I choose for the second phase, as well as a reflection on these choices after completing the second phase.
The most important final product, however, will be the result of the second phase: the photo gallery application itself, which should be fully functional and satisfy the requirements set together with the supervisor.
Planning
Add a planning with main activities and milestones.
See the planning for a complete project overview, with time allocated to each of the (sub-) activites.
Supervision
What kind of supervision do you request (for instance a process supervisor, or a supervisor with specific expertise). If you already found a (potential) supervisor, please include her/his name and contact details.
Fjodor van Slooten (https://people.utwente.nl/f.vanslooten) has agreed to be my supervisor. He is an expert in the fields of web design and application development at the UT, and also teaches courses within these fields.
Outreach
In which ways will you share your results and learning experiences with the ATLAS community? When will you do this?
First of all, the resulting application will be available publicly, and distributed under an open-source license. This will allow everyone – both within and out of the ATLAS community – to use the application, but also to learn from the source code and make their own changes to it.
Secondly, the results of my research into the different technologies will be available as a public website. This includes the comparison of different technologies, as well as a justification and reflection of the technologies used for the photo gallery application. This will make the choice easier for others looking to make web applications, and will allow them to learn from my choices (and possibly, mistakes).
At the Expo, I could present the interactive version of the application together with an overview of the technologies and choices I made.