Taskly is a modern, collaborative task management application for teams. It allows teams to create, organize, and track tasks dynamically on an interactive Kanban board.
This project was bootstrapped from the official Laravel Vue Starter Kit.
- Interactive Kanban Board: Drag-and-drop tasks between columns, rename columns, and adjust task priority sequences.
- Advanced Task Filters: Filter bar for finding tasks by:
- Search keywords (debounced title & description search).
- Assignee (filtered by specific team members or unassigned tasks).
- Tags (multi-select filter).
- Due Dates (shortcuts like Today, This Week, Overdue, or custom exact dates and date ranges).
- Task Details & Collaboration: Task editing with rich description styling (Tiptap editor), comments with threaded replies, and a detailed activity log timeline.
- Workload Dashboard: Team workspace overview featuring task metrics, urgent "To Handle Now" tasks, column breakdowns, and a recent activity feed (with direct links back to tasks).
- Backend: Laravel 12 (PHP >= 8.2), Inertia.js V3
- Frontend: Vue 3
- Styling: Tailwind CSS & Shadcn
- CI/CD: GitHub Actions workflow for automated testing, linting and deployment.
- Deployment: Docker, with a production-ready Dockerfile included in the repository.
Make sure you have the following installed on your local system:
- PHP >= 8.2
- Composer
- Node.js >= 20
- NPM
-
Clone the repository to your local environment.
-
Install dependencies and seed the database:
composer run setup
This command installs Composer and JavaScript dependencies, initializes your
.envconfiguration, generates the app key, and runs migrations with database seeds. -
Start the development server:
composer run dev
This starts the Artisan server and the Vite dev server concurrently.
-
Open http://localhost:8000 in your browser.
The seeded database contains 3 teams and 6 users. Each user is pre-assigned to a team:
| Team | User | Password | |
|---|---|---|---|
| Team 1 | User 1, 2, 3 | test1@example.com to test3@example.com |
password |
| Team 2 | User 4, 5 | test4@example.com & test5@example.com |
password |
| Team 3 | User 6 | test6@example.com |
password |
Note: You can also register a new account and create a custom team from the login page.