- If you are comfortable with both frontend and backend, complete the whole assignment.
- If comfortable with the backend, do the backend part only, deploy the app, and share the Postman collection.
- For frontend, create the UI part of the app and share the deployed link.
- User Registration: Allow users to register with their name, email, and password.
- Login: Users can log in to the app. Upon successful login, users should be redirected to the dashboard.
- Tabs: The dashboard should have two tabs: Projects and Task Board.
- Create Projects: Users should be able to create new projects with a name and description.
- Project Details: Each project should have a detailed screen displaying all tasks within the project. Users can add new tasks to the project.
- Display Tasks: The task board should display all tasks from all projects.
- Task Columns: Tasks should be categorized into columns based on their status such as “Backlog”, “In Discussion”, “In Progress”, and “Done”.
- Task Details: Each task should include:
- Project
- Name
- Detailed description
- Status
- Tags
- Due date
- Assigned user
- Form Validation: Implement proper validation for all form fields on both frontend and backend. Display user-friendly validation messages.
- API and Page Protection: Ensure all APIs and pages are authenticated. Only the login and registration pages should be accessible to unauthenticated users.
- Code Repository: Push the code to an online Git repository.
- Deployment: Deploy the project and provide the link.
- Commit Messages: Use descriptive commit messages. Commits should be frequent and atomic.