- Fork this repository into your own GitHub account. If you don't have a GitHub account, please create one.
- Commit all your changes to your forked repository, following clean Git commit hygiene.
- Demonstrate clean Git commit hygiene, following best practices for commit messages and organizing your commits.
- For guidelines on clean Git commit hygiene, you can refer to this source.
- Place all your source code files in the
src
folder. - The bonus challenge is optional but greatly welcomed. You can choose to tackle it if you'd like.
- Include comments in your code to explain your approach, algorithms, and any important details.
- Additionally, if possible, include test cases for your solutions.
Your mission is to develop a basic To-Do List web application. You have the flexibility to use fundamental HTML, CSS, and JavaScript or opt for a broader range of web stacks, such as React, Bootstrap, Angular, Laravel, or even WebAssembly (WASM). This application must enable users to seamlessly add, modify, and remove tasks, each characterized by a title, description, status (complete or pending), and priority. The design should be clean and intuitive.
- Create a user interface using HTML and CSS to display a list of tasks.
- Implement functionality using JavaScript to add new tasks, edit existing tasks, and mark tasks as completed or not.
- Allow users to input a title and description for each task.
- Implement a feature to prioritize tasks (e.g., high, medium, low).
- Display tasks with appropriate styling to indicate their completion status.
- Provide options to edit or delete tasks.
- Correct implementation of task creation, editing, and deletion.
- Proper handling of task status and user interactions.
- Clear and concise indication of task priority.
- User interface design and user experience.
- Code organization, clarity, and maintainability.
- Proper usage of HTML, CSS, and JavaScript.
- Documentation explaining how to run the application and any additional features you've implemented.
- Ensure responsive design, so the web application is usable on both desktop and mobile devices.
- Add animations or transitions to enhance the user experience.