Description: Create a simple web application for managing tasks using Laravel. The application should allow users to do the following:
- Front Page: A front page for end users that explains the application. This page should apply SEO.
- Register: Allow new users to create an account.
- Login: Allow existing users to log in to their accounts.
- Create new tasks: The task should include a title, description, due date, and priority (high, medium, low).
- View task list: Display all of user's tasks with the ability to sort by due date or priority, and filter by task status.
- Edit tasks: The ability to modify task details.
- Delete tasks.
- Set task status: (ToDo, Doing, Done).
Extra Features (preferably implemented using Artificial Intelligence):
- Smart due date suggestion: Based on the task description, provide a suggestion for the due date using a natural language model (external APIs or pre-trained models can be used).
- Task categorization: Use natural language processing techniques to automatically categorize tasks into specific categories (e.g., "Work", "Personal", "Shopping").
- Task reminders: Send reminders via email or notifications before the task's due date (Laravel Queues and Notifications can be used).
Submission Instructions:
- The project must be submitted within two days.
- It is preferable to use the latest version of Laravel.
- The code should be clean, organized, and well-documented.
- Please explain how artificial intelligence was used in implementing the bonus features, mentioning the tools, libraries, or APIs that were used.
Note: The goal of the bonus features is to assess the candidate's ability to explore and use artificial intelligence technologies in web development. It is not required to complete all bonus features perfectly, but a serious attempt and understanding of the concepts should be demonstrated.