UpTaskt is a collaborative project and task management web application. It allows users to create projects for clients, organize tasks using a Kanban-style board, and invite collaborators to work together.
-
Authentication
Email/password sign-up and sign-in with email OTP verification (powered by Better Auth).
Users can manage their profile and update their email. -
Project Management
Create projects linked to a client name with full CRUD operations (create, read, update, delete). -
Task Board
Each project includes a Kanban board with tasks organized by state:pendingwaitingin_progressin_reviewcompleted
Tasks support drag-and-drop reordering within and across states (via
vue-draggable-plus). -
Task Notes
Collaborators and project owners can leave notes on individual tasks. -
Collaborators
Project owners can invite users to collaborate and manage the team from a dedicated page.
- Nuxt 4 (Vue 3) — Full-stack framework with file-based routing and server API routes
- Tailwind CSS 4 — Utility-first styling
- shadcn-vue (New York style via reka-ui) — UI component library
- Pinia — State management (auth store)
- VeeValidate + Zod — Form validation
- vue-draggable-plus — Drag-and-drop task reordering
- vue-sonner — Toast notifications
- Lucide — Icons
- Drizzle ORM — Type-safe SQL ORM with PostgreSQL
- Better Auth — Authentication with email OTP plugin
- Nodemailer — Email sending for verification
- PostgreSQL — Primary database
The application uses Nuxt Layers to enforce modularity and separation of concerns.