TaskApp.

Live Site

Project Info

This is a task management CRUD application. Once registered, users are able to create and manage tasks to stay organized. Features include:

  1. A dashboard feature that displays the number of tasks assigned for the week. Of those weekly tasks, users are able to see how many have been completed and how many are still overdue. They are also able to view any task that has been assigned for the present day.
  2. A tasklist feature where users can create new tasks. Tasks are separated into different categories either by default or when their status has been updated. Users can also perform search or filter operations when looking for particular tasks.
  3. A tasks overview feature where users can view recently added tasks, task due for the present day and week, along with their respective due dates.
  4. A calendar feature where users can view dates. Here they can also click on the date of any particular month to create a task that will be due on that specific day.
  5. A settings feature where users can update their personal information such as name, email address and password. Here they can also choose to delete their account.
  6. A logout feature that once clicked, immediately logs the user out of their account.

DEMO LOGIN:
Email: fionafarrier@gmail.com
Password: Test123!

Built with:

  • HTML & CSS
  • .Net Core Razor Pages
  • Entity Framework Core
  • .Net Core Identity
  • JavaScript
  • Git
  • Webpack
  • SQL Server
  • DigitalOcean

Challenges

While building this application, these are some of the challenges I faced:

  • Multi Filtering Feature:

    Though I'm quite compfortable working with JavaScript, using it to implement a multi-filtering feature proved quite challenging that expected.

    This was my thought process: I needed to account for every instance where a filter operation is being performed. For instance, if filtering by category, check if priority and date options have been selected. If no other filter options were selected, return all tasks for that category. Else if a priority was already selected, return only tasks within the selected category that matches that priority. Else if date was already selected, return only tasks within the selected category that matches that date range. Else if both priority and date were already selected, return only tasks within that category that matches both the priority and the date range.

Summary and Reflections

Reflecting on these challenges, not only have I learnt a lot but I have gained valuable insights into the importance of thorough research, proper configuration, and persistence in troubleshooting to overcome obstacles encountered while building this app. I plan to continue working on this app to to improve it's functionalities, especially relating to user authentication and authorization.

Back to top