13 Project: Task manager

 

This chapter covers

  • Creating the necessary scaffolding for a task manager
  • Implementing a simple list of tasks
  • Homework: Adding advanced features to the task manager

Welcome to the third and final project for this book. You’ll now have to wield all the magic and spells that you’ve learned so far as well as some extra knowledge about JavaScript and HTML that you’ve hopefully picked up elsewhere—however, that’s only required for the very advanced homework at the end of this chapter.

In this project, we’ll build a task manager. By task manager, we mean a slightly more complex variant of a to-do list. The task manager at first consists of a simple to-do list implemented as cards that can be started and completed. We then add in substeps to each task, so the user can add some finer details to their tasks at hand. Next, we add in the option of changing the order of the steps in each task, first only using buttons, but then also using drag and drop. It’s that last bit in step 5, the drag and drop part, that’s going to be tricky to complete. You can see this development in figure 13.1, where we’ll use advanced events to get to the final step 5.

Figure 13.1 As you implement the task manager, you’ll go through these five steps to add more and more functionality and complexity to the application.
13-01

13.1 Scaffolding for the task manager

13.1.1 Component hierarchy

13.1.2 Project structure

13.1.3 Source code

13.1.4 Running the application

13.2 A simple list of tasks

13.2.1 The goal of this exercise

13.2.2 Component hierarchy

13.2.3 Updated project structure

13.2.4 Source code

13.2.5 Running the application

13.3 Homework: Task steps and progress

13.4 Homework: Prioritization of steps

13.5 Homework: Drag and drop