In this task, you'll be challenged to create a collaborative task management application using React.js. The application will allow users to create, assign, and track tasks in a team environment.
Data Storage : Use Indexed DB of your browser to store all types of data.
-
User Authentication:
- Implement user authentication and registration functionalities.
- Users should be able to sign up, log in, and log out.
- Each user should have a profile with a profile picture, username, and bio.
-
Task Creation and Management:
- Allow users to create tasks with a title, description, due date, and priority level.
- Users should be able to assign tasks to other team members.
- Implement a way to mark tasks as completed or in progress.
-
Team Collaboration:
- Create a team-based environment where users can form teams and invite others to join.
- Users should only be able to view and manage tasks within their team.
-
Task Filtering and Sorting:
- Provide options to filter tasks by their status (completed, in progress, pending) and due date.
- Allow users to sort tasks by different criteria (priority, due date, etc.).
-
Tasks across all teams.
- Create a "Dashboard" section that shows a summary of