Skip to content

Costa0910/todo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Tracker

Overview

Welcome page The Task Tracker application is a task management system built using Laravel 12 with Inertia.js and Vue.js. The interface is styled with Tailwind/shadcn-vue, and icons are provided by Lucide Vue Next. The goal is to create a simple and intuitive web application for task management ("To-Do" list).

Technologies Used

  • Back-end: Laravel 12
  • Front-end: Inertia 2, Vue 3 Composition API, Tailwind, and shadcn-vue.
  • Database: MySQL
  • Testing: Pest PHP

Main Features

1. Task Management

  • Create, edit, duplicate, and delete tasks
  • Organize tasks by status and priority
  • Trash system with the ability to restore deleted tasks
  • DataTable for efficient task display List of tasks

2. Trash

  • List of tasks moved to the trash
  • Option to restore deleted tasks
  • Option to permanently remove tasks from the trash Deleted tasks

3. Dashboard

  • General task statistics
  • List of today's tasks
  • Task priority and progress tracking Welcome page

4. Advanced Filters

  • Filter by status and priority
  • Search and pagination

Database Structure

The application uses UUIDs as primary keys and softDeletes to allow record recovery.

Main Tables

tasks (Tasks Table)

  • id (UUID, Primary Key)
  • user_id (Integer, Foreign Key)
  • title (String)
  • description (Text, nullable)
  • status (Enum: TODO, IN_PROGRESS, COMPLETED)
  • priority (Enum: LOW, MEDIUM, HIGH)
  • label_id (UUID, Foreign Key)
  • started_at (Datetime, nullable)
  • completed_at (Datetime, nullable)
  • deleted_at (Datetime, nullable)
  • created_at (Datetime)
  • updated_at (Datetime)

task_labels (Task Labels)

  • id (UUID, Primary Key)
  • name (String, Index unique)
  • created_at (Datetime)
  • updated_at (Datetime)

Automated Testing

  • All controllers have integration tests using Pest
  • Tests for authentication, permissions, and task CRUD operations

Setup and Deployment

1. Installation

composer install
npm install
php artisan migrate --seed
npm run build
php artisan serve

2. Environment Configuration (.env)

  • Database: Configure MySQL credentials

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 62.9%
  • PHP 26.4%
  • TypeScript 7.9%
  • CSS 1.6%
  • Other 1.2%