Your task is to create a web-based task management application similar to Trello.
The application should have the following features:
- User Authentication:
- Implement signup and login functionality using email and password
- Ensure secure password storage and user session management
- Task Board:
- Upon logging in, users should see their personal task board
- The board should have four columns: "To-Do", "In Progress", “Under Review” and "Completed"
- Task Management:
- Users can create new tasks in any column
- Each task should have
- A title (mandatory)
- A description (not mandatory to fill)
- Status (mandatory)
- Automatically fill if card created from buttons in specific section
- Priority (not mandatory)
- Values for priority - Low, Medium, Urgent
- Deadline (not mandatory
- Users can edit and delete tasks after creation
- Drag and Drop Functionality:
- Implement drag and drop feature to move tasks between columns
- The task's status should update automatically when moved to a different column
- Data Persistence:
- All user data (account information and tasks) must be stored in a database
- Ensure that each user can only see and manage their own tasks
Technical Requirements:
- Frontend: NextJS with TypeScript
- Backend: Node.js with Express
- Database: MongoDB
- State Management: Redux or React Context API
- Styling: CSS (any methodology or framework of your choice)
Submission Requirements:
- GitHub Repository:
- Provide a link to a GitHub repository with your complete source code
- Include a README with setup instructions
- Deployed Application:
- Deploy your application using any free hosting service
- Provide the URL of the live, working application
Once you are done, you can submit the assignment here: https://tally.so/r/mBBRee
The deadline is 31 July, 2024 EOD
Note: Ensure that your application is fully functional and deployed.