Software Developer Assignment Task: Todo Application
Objective
Develop a simple Todo application with a Laravel backend and Vue.js frontend (Not in same
project. Create Vue project using Vue Cli). Manage state using Pinia state management and
authenticate users with Laravel Sanctum. Users should be able to log in, add, edit, delete,
and change the status of their to-dos.
Requirements
Backend (Laravel):
1. Set up a new Laravel project.
2. Configure Laravel Sanctum for authentication.
3. Create the necessary migrations for users and to-dos tables.
4. Develop RESTful API routes for to-do management (add, edit, delete, change
status).
5. Implement necessary controllers and models.
6. Secure API routes with Sanctum middleware to ensure only authenticated users can
manage to-dos.
Frontend (Vue.js):
1. Set up a new Vue.js project.
2. Install and configure Pinia for state management.
3. Implement a login form to authenticate users using Laravel Sanctum.
4. Create a Todo component with the following features:
o Display a list of to-dos.
o Add a new to-do.
o Edit an existing to-do.
o Delete a to-do.
o Change the status of a to-do (e.g., mark as complete/incomplete).
Evaluation Criteria
• Correctness and completeness of the implementation.
• Code organization and cleanliness.
• Proper use of Laravel Sanctum for authentication.
• Effective state management with Pinia in the Vue.js frontend.
• User experience and functionality of the Todo application.
Best of luck with your assignment! If you have any questions, feel free to ask.