First Course Project

Project Handout


In the first course project, your task is to take what you have learned so far, and build a responsive application that allows entering and editing information. The topic of the project is open-ended, which means that you can choose the topic yourself.

However, we have also provided some topic suggestions that you can use if you don’t have a topic in mind.

Project requirements

The project has a handful of requirements, which all must be fulfilled for the application to be considered as complete. The requirements are as follows:

  • The application idea is clear, the application has a clear purpose, and the application is easy to use.

  • The application is responsive. There are at least two breakpoints that influence the layout (e.g. mobile and tablet). In addition to the breakpoints, the application features a maximum width that is used to limit the width of the shown content on devices with a high resolution.

  • The application has a form for entering information, and the application remembers (at least some of) the entered information between application restarts.

  • Data entered through the form can be interacted with in some way, and the application has the functionality for showing statistics based on the data.

  • The application consists of a main screen and at least three distinct screens that can be navigated into in some way. At least one of the screens uses path variables that influence the shown content. The navigation is intuitive.

  • The application has been deployed to an online location, and the online location is shared in the project documentation. When accessing the online location with a modern web browser, the application can be used.

For deploying and releasing a Flutter application as a web application, see Flutter’s documentation focused on building and releasing a web application.

Topic suggestions

Although you can pick the topic yourself, here are a few ideas that you could use for the project. These also help considering the expected scope of the project:

  • Recipe manager (entering and editing recipes, searching for recipes, viewing recipes)

  • Personal finance tracker (entering income and spending, looking into spending per category, showing statistics over time)

  • Collection organizer, where the collection could consist of e.g. books, movies, collectibles, etc (allows entering and editing items, searching for items, viewing items); e.g. “Pokemon collection organizer”

  • Daily routine manager (allows entering and editing daily routines, searching for routines, viewing routines)

  • Quantified self application (allows entering daily information about self, e.g. amount of sleep, amount of sports, amount of studying, overall mood, and then creating statistics about these)

  • Quiz application (allows entering and questions, allows answering questions, allows showing answer statistics)

Deliverables

The project is returned as a zip file that contains the project code and documentation. The documentation is written in Markdown syntax) in a README.md file that is returned in the zip file. The documentation should include the following:

  • A description of the application idea and purpose
  • The URL at which the application is deployed
  • Brief instructions on how to use the application

Note that the returned zip file should not include non-plaintext files (such as images, pdf-files, etc). The submission format must follow the same structure of the template zip, although naturally additional files and folders are accepted.