A simple task management CRUD built with Laravel, Tailwind CSS and DaisyUI to improve my skills.
- List tasks with filters by status and sorting
- Create, view, edit and delete tasks
- Task statuses: Pending, In Progress and Done
- Completed tasks cannot be edited (business rule)
- Optional due date per task
- Light / Dark / System theme toggle
- REST API endpoints available at
/api/tasks
- PHP 8.2+
- Composer
- Node.js 18+
- A database supported by Laravel (SQLite, MySQL, PostgreSQL)
1. Clone the repository
git clone <repository-url>
cd crudwithlaravel2. Install PHP dependencies
composer install3. Install JS dependencies
npm install4. Set up environment
cp .env.example .env
php artisan key:generate5. Configure the database
Open .env and set your database credentials. For a quick local setup with SQLite:
DB_CONNECTION=sqliteThen create the database file:
touch database/database.sqlite6. Run migrations
php artisan migrate7. Start the development servers
npm run dev &
php artisan serveOpen http://localhost:8000 in your browser.
| Method | URL | Description |
|---|---|---|
| GET | /api/tasks |
List tasks (supports ?status= and ?sort= filters) |
| POST | /api/tasks |
Create a task |
| GET | /api/tasks/{id} |
Get a single task |
| PUT | /api/tasks/{id} |
Update a task |
| DELETE | /api/tasks/{id} |
Delete a task |