This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.1.
1. Introduction
2. Features
3. Technologies used
4. Development server
5. Running unit tests
6. Usage
7. Documentation
This project is a Task Manager application built with Angular v17.
The application allows the user to login/logout (mocked service), see their tasks, add new tasks, edit existing tasks and mark them as done.
- Mocked Login/Logout
- Task List
- Add Task
- Edit Task
- Mark Task as Done
- Angular v17.1.1
- Angular Material UI v17.1.1
- localStorage
Run `npm install` to intall dependencies.
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
- Login view (/login)
The user can log in using any email/passowrd combination since it is just a mocked service, but form validation is still present.



-Add Task (/add-task)
The user can add a new task which will appear in the task list view and clear the form after they press the 'ADD TASK' button.
The task gets added to it's localStorage object, if there is no object, it gets created first and then the task is added.

-Task List (/)
The user can view all their tasks on this view and edit them/mark them as done.
When marked as done, the task gets deleted from it's object in localStorage.
The user can swith between the tabs 'task list' and 'add tasks' as well as logout by clicking the logout button which deleted the user from localStorage.


-Edit Task (/edit-task/:id)
The user can edit one of their tasks by clicking the 'EDIT TASK' button.
The view loads the tasks' title and description, which the user can modify and by clicking 'CONFIRM EDIT', the item gets updated in localStorage and redirects the user to the Task List view.


While making this project I have used the following resources:
1. [angular.dev](https://angular.dev/)
Specifically these materials:
- [tutorial to get to know angular](https://angular.dev/tutorials/first-app)
- [routing reference](https://angular.dev/guide/routing)
- [ngModule for forms](https://angular.dev/guide/ngmodules)
- [dependency injection for injectable services](https://angular.dev/guide/di)
- [guards for route protection](https://angular.dev/guide/routing/common-router-tasks#preventing-unauthorized-access)
2. [angular material](https://material.angular.io/)
For component styling