A modern, full-featured project management application built with Vue 3, Nuxt 3 and is fully typed with TypeScript. This Jira-inspired clone provides comprehensive project tracking, team collaboration, and workflow management capabilities.
- Create and manage multiple workspaces
- Workspace-specific settings and configurations
- Team collaboration within isolated environments
- Hierarchical project organization
- Project settings and configurations
- Create, assign, and track tasks
- Priority levels and status management
- Kanban Board: Drag-and-drop task management
- Data Table: Sortable and filterable task lists
- Calendar View: Timeline and deadline visualization
- ✉️ Invite System
- User Roles & Permissions: Admin & Member access levels
- Workspace settings and preferences
- Project-specific configurations
- Member management
- Avatar uploads for workspaces & projects
- GitHub OAuth integration
- Email/password authentication
- Secure session management
- Mobile-first approach
- Tablet and desktop optimized
- Frontend Framework: Nuxt 3 with Vue 3 Composition API
- Language: TypeScript for type safety
- Styling: Tailwind CSS + Shadcn UI
- Backend: Appwrite for backend services
- Deployment: Vercel for seamless hosting
- State Management: Pinia & provide/inject for state management
- Data Fetching: @tanstack/vue-query
- Authentication: Appwrite Auth with email/password & GitHub OAuth
- Node.js 18+
- npm or yarn
- Appwrite account and project setup
- Clone the repository
git clone https://github.com/sytanta/nuxt-jira.git
cd nuxt-jira- Install dependencies
npm install
# or
yarn install- Environment Setup
Create a
.envfile in the root directory:
# Appwrite Configuration
APPWRITE_KEY=
PUBLIC_APPWRITE_ENDPOINT=
PUBLIC_APPWRITE_PROJECT=
PUBLIC_APPWRITE_DATABASE_ID=
PUBLIC_APPWRITE_WORKSPACES_ID=workspace_collection_id
PUBLIC_APPWRITE_PROJECTS_ID=project_collection_id
PUBLIC_APPWRITE_MEMBERS_ID=member_collection_id
PUBLIC_APPWRITE_TASKS_ID=task_collection_id
PUBLIC_APPWRITE_IMAGES_BUCKET_ID=images_bucket_id
# Site Configuration
PUBLIC_SESSION_COOKIE_NAME=
PUBLIC_SITE_URL=http://localhost:3000- Appwrite Setup
- Create collections for: workspaces, projects, tasks, members, tasks
- Set collections' permissions
- Set up storage buckets for file uploads
- Configure GitHub oauth authentication provider
- Run Development Server
npm run dev
# or
yarn devVisit http://localhost:3000 to see your application.
Drag-and-drop functionality using Vue.Draggable with real-time updates to Appwrite database.
Built with a customized Full Calendar component showing tasks.
Integrated with Appwrite Storage for secure image uploads.
-
Connect Repository
- Import your repository to Vercel
- Configure build settings (Nuxt 3 preset)
-
Environment Variables
- Add all environment variables in Vercel dashboard
- Ensure production URLs are updated
-
Deploy
This project is inspired by the excellent Next.js tutorial: Build a Jira Clone but reimagined with Vue 3 ecosystem and modern development practices.
- Advanced reporting and exports
- Time tracking functionality
- Offline mode support
- Mobile app (Ionic/Capacitor)
- Integration with external tools (Slack, Discord)
This project is licensed under the MIT License - see the LICENSE file for details.
- Shadcn UI for beautiful components
- Appwrite for backend infrastructure
- Nuxt 3 team for the amazing framework
- Original Next.js tutorial inspiration
If you have any questions or need help with setup, please open an issue.
Happy coding! 🎉