Skip to content

Repository files navigation

πŸ“‹ Jira Clone - Project Management Platform

Next.js TypeScript React Hono Appwrite Shadcn/UI

This is a Next.js 15 Jira clone featuring Appwrite SDK, Hono.js API, and Shadcn UI, with authentication, analytics, Kanban boards, and role-based access control.

logo

✨ Features

  • πŸš€ Next.js 15 - Latest React framework with advanced features ⚑
  • πŸ“Š Kanban Boards - Drag-and-drop task management 🎯
  • πŸ“… Calendar View - Visual timeline for project planning πŸ“†
  • πŸ“ˆ Analytics Dashboard - Real-time project insights πŸ“Š
  • πŸ‘₯ Team Management - Role-based access control πŸ”
  • 🎨 Modern UI - Shadcn/UI components with Tailwind CSS ✨
  • πŸ”’ Authentication - Secure Appwrite authentication πŸ›‘οΈ
  • πŸ“± Responsive Design - Works on all devices πŸ“Ί
  • 🎭 Dark/Light Mode - Theme switching support πŸŒ™
  • πŸ”„ Real-time Updates - Live collaboration features ⚑

πŸ“± Screenshots

Home Kanban View
Calendar View Project Details
Create Project Modal Create Task Modal
Task Details Members
Settings

πŸ—οΈ Tech Stack

πŸ–₯️ Frontend

  • βš›οΈ Next.js 15.0.2 - React framework with App Router πŸš€
  • πŸ“˜ TypeScript 5.x - Type safety and enhanced DX πŸ›‘οΈ
  • 🎨 Tailwind CSS 3.4.14 - Utility-first CSS framework πŸ’…
  • 🌟 Shadcn/UI - Modern React components ✨

πŸ”„ Backend & API

  • πŸ”₯ Hono.js 4.6.9 - Lightweight web framework πŸš€
  • πŸ—„οΈ Appwrite 14.1.0 - Backend-as-a-Service platform πŸ“Š
  • πŸ” Zod 3.23.8 - Schema validation πŸ›‘οΈ
  • 🎯 Hono Zod Validator 0.4.1 - Request validation βœ…

🎨 UI Components

  • 🎭 Radix UI - Headless UI components 🧩
  • πŸ“‹ React Hook Form 7.53.1 - Form management πŸ“
  • 🎨 Lucide React 0.454.0 - Icon library 🌟
  • πŸ”„ React Icons 5.3.0 - Additional icons 🎯

πŸ“Š Data Management

  • πŸ” TanStack Query 5.59.19 - Data fetching and caching ⚑
  • πŸ“Š TanStack Table 8.20.5 - Table management πŸ“‹
  • πŸ”„ Nuqs 1.19.1 - URL state management 🌐
  • πŸ“ˆ Recharts 2.13.3 - Chart library πŸ“Š

🎯 Advanced Features

  • 🎨 Hello Pangea DnD 17.0.0 - Drag and drop 🎯
  • πŸ“… React Big Calendar 1.16.3 - Calendar component πŸ“†
  • 🎭 Next Themes 0.3.0 - Theme switching πŸŒ™
  • πŸ”Š Sonner 1.5.0 - Toast notifications πŸ””
  • 🎨 Vaul 1.1.1 - Drawer component πŸ“±

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ 🟒
  • Appwrite account πŸ”
  • TypeScript knowledge πŸ“˜

Installation

  1. Clone repository πŸ“₯

    git clone https://github.com/chayan-1906/Jira.git
    cd Jira
  2. Install dependencies πŸ“¦

    npm install
  3. Environment setup βš™οΈ

    cp .env.example .env
  4. Configure environment πŸ”§

    NEXT_PUBLIC_APPWRITE_IMAGES_BUCKET_ID=your_appwrite_images_bucket_id
    NEXT_PUBLIC_APPWRITE_PROJECT=your_appwrite_project_id
    NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_appwrite_database_id
    NEXT_PUBLIC_APPWRITE_WORKSPACES_ID=your_appwrite_workspaces_id
    NEXT_PUBLIC_APPWRITE_MEMBERS_ID=your_appwrite_members_id
    NEXT_PUBLIC_APPWRITE_PROJECTS_ID=your_appwrite_projects_collection_id
    NEXT_PUBLIC_APPWRITE_TASKS_ID=your_appwrite_tasks_collection_id
    NEXT_PUBLIC_APPWRITE_KEY=your_appwrite_key
    NEXT_PUBLIC_APP_URL=your_deployed_website_url
    NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
  5. Start development server πŸš€

    npm run dev

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (auth)/              # Authentication pages
β”‚   β”œβ”€β”€ (dashboard)/         # Main dashboard
β”‚   β”œβ”€β”€ (standalone)/        # Standalone pages
β”‚   └── api/                 # API routes
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ ui/                  # Shadcn/UI components
β”‚   └── *.tsx               # Feature components
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ auth/               # Authentication
β”‚   β”œβ”€β”€ workspaces/         # Workspace management
β”‚   β”œβ”€β”€ projects/           # Project management
β”‚   β”œβ”€β”€ tasks/              # Task management
β”‚   └── members/            # Team management
β”œβ”€β”€ lib/                    # Utility libraries
β”œβ”€β”€ hooks/                  # Custom React hooks
└── types/                  # TypeScript definitions

πŸ”§ Core Features

πŸ“Š Project Management

  • Workspaces - Organize projects by teams 🏒
  • Projects - Create and manage projects πŸ“
  • Tasks - Detailed task management πŸ“‹
  • Analytics - Project performance insights πŸ“ˆ

🎯 Task Management

  • Kanban Boards - Visual task organization πŸ“‹
  • Calendar View - Timeline-based planning πŸ“…
  • Table View - Detailed task listing πŸ“Š
  • Drag & Drop - Intuitive task movement 🎯

πŸ‘₯ Team Features

  • Member Management - Add/remove team members πŸ‘₯
  • Role-Based Access - Permission control πŸ”
  • Invite System - Team invitation workflow πŸ“§
  • Activity Tracking - Monitor team progress πŸ“Š

πŸ” Authentication

  • Appwrite Auth - Secure authentication πŸ›‘οΈ
  • Session Management - Persistent login πŸ”’
  • OAuth Support - Social login options 🌐
  • Protected Routes - Route guards πŸ›‘οΈ

πŸ”— API Routes

Method Endpoint Description Auth
GET /api/auth/current Get current user βœ…
POST /api/auth/login User login ❌
POST /api/auth/register User registration ❌
GET /api/workspaces Get workspaces βœ…
POST /api/workspaces Create workspace βœ…
GET /api/projects Get projects βœ…
POST /api/projects Create project βœ…
GET /api/tasks Get tasks βœ…
POST /api/tasks Create task βœ…
GET /api/members Get members βœ…

πŸ“Š Features Breakdown

🏒 Workspace Management

  • πŸ“ Create workspaces
  • βš™οΈ Workspace settings
  • πŸ‘₯ Member invitations
  • πŸ“Š Analytics dashboard

πŸ“‹ Project Management

  • 🎯 Project creation
  • πŸ“ Project details
  • πŸ”„ Status tracking
  • πŸ“ˆ Progress monitoring

πŸ“ Task Management

  • βœ… Task creation
  • 🏷️ Status updates
  • πŸ‘€ Assignment system
  • πŸ“… Due date tracking

πŸ‘₯ Team Collaboration

  • πŸ’¬ Real-time updates
  • πŸ”„ Activity feeds
  • πŸ“§ Notifications
  • πŸ‘₯ Team insights

🎨 UI Components

🎯 Shadcn/UI Components

  • Button - Interactive buttons πŸ”˜
  • Sheet - Side panels πŸ“„
  • Dialog - Modal dialogs πŸ’¬
  • Form - Form components πŸ“
  • Table - Data tables πŸ“Š
  • Select - Dropdown selects πŸ“‹
  • Checkbox - Checkbox inputs βœ…
  • Textarea - Text areas πŸ“

🎨 Custom Components

  • Analytics Card - Metric displays πŸ“Š
  • Date Picker - Date selection πŸ“…
  • Dotted Separator - Visual dividers βž–
  • Mobile Sidebar - Mobile navigation πŸ“±
  • Responsive Modal - Adaptive modals πŸ“±

πŸ“± Responsive Design

πŸ“² Mobile Features

  • Touch-friendly interface πŸ‘†
  • Drawer navigation πŸ“±
  • Optimized layouts πŸ“
  • Gesture support 🀏

πŸ–₯️ Desktop Features

  • Sidebar navigation πŸ“‹
  • Keyboard shortcuts ⌨️
  • Multi-panel views πŸ“Š
  • Advanced interactions πŸ–±οΈ

πŸ”’ Security Features

  • Authentication via Appwrite πŸ”
  • Role-based access control πŸ›‘οΈ
  • Data validation with Zod βœ…
  • Secure API endpoints πŸ”’
  • Environment variables protection πŸ”

πŸ“ˆ Performance

  • Next.js 15 optimizations πŸš€
  • TanStack Query caching ⚑
  • Server components πŸ–₯️
  • Code splitting πŸ“¦
  • Image optimization πŸ–ΌοΈ

πŸ”§ Development Scripts

# Development server
npm run dev

# Build production
npm run build

# Start production
npm start

# Lint code
npm run lint

πŸš€ Deployment

Vercel Deployment

  1. Connect GitHub repository πŸ”—
  2. Configure environment variables βš™οΈ
  3. Deploy automatically on push πŸš€

Environment Variables

  • NEXT_PUBLIC_APPWRITE_IMAGES_BUCKET_ID
  • NEXT_PUBLIC_APPWRITE_PROJECT
  • NEXT_PUBLIC_APPWRITE_DATABASE_ID
  • NEXT_PUBLIC_APPWRITE_WORKSPACES_ID
  • NEXT_PUBLIC_APPWRITE_MEMBERS_ID
  • NEXT_PUBLIC_APPWRITE_PROJECTS_ID
  • NEXT_PUBLIC_APPWRITE_TASKS_ID
  • NEXT_PUBLIC_APPWRITE_KEY
  • NEXT_PUBLIC_APP_URL
  • NEXT_PUBLIC_APPWRITE_ENDPOINT

πŸ“‹ Requirements

  • Node.js: β‰₯18.0.0 🟒
  • Appwrite: Latest version πŸ“Š
  • Memory: 1GB RAM minimum πŸ’Ύ
  • Storage: 2GB disk space πŸ’Ώ

🀝 Contributing

  1. Fork repository 🍴
  2. Create feature branch (git checkout -b feature/amazing-feature) 🌟
  3. Commit changes (git commit -m 'Add amazing feature') πŸ’Ύ
  4. Push branch (git push origin feature/amazing-feature) πŸš€
  5. Open Pull Request πŸ“

πŸ› Known Issues

  • None currently reported βœ…

πŸ‘¨β€πŸ’» Author

Padmanabha Das

🌟 Show Your Support

Give a ⭐️ if this project helped you! πŸ™


Made with ❀️ by Padmanabha Das

⭐ Star this repo if you found it helpful!

About

πŸ“‹ Jira clone built with Next.js 15, featuring Appwrite SDK, Hono.js API, and Shadcn UI, with authentication, analytics, Kanban boards, and role-based access control

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages