Skip to content

WhiiteRose/EpiTrello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

127 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EpiTrello

A modern, collaborative Kanban board application inspired by Trello. Organize your projects, track progress, and collaborate with your team in real-time.

License Next.js TypeScript


πŸ–ΌοΈ Screenshots

Landing Page Dashboard Board Kanban Create Task Dialog


✨ Features

Core Functionality

  • πŸ“‹ Boards & Lists: Create unlimited boards with customizable columns
  • 🎯 Tasks (Cards): Rich task cards with descriptions, labels, due dates, and attachments
  • πŸ–±οΈ Drag & Drop: Intuitive drag-and-drop interface for task management
  • 🏷️ Labels: Color-coded labels for visual organization
  • πŸ“Ž Attachments: Upload and manage task attachments
  • πŸ’¬ Comments: Real-time collaboration through task comments
  • πŸ” Search & Filters: Powerful filtering by priority, labels, and due dates

Team Collaboration

  • πŸ” Role-Based Permissions: Owner, Member, and Viewer roles
  • πŸ‘₯ Member Management: Invite users, assign roles, and manage access
  • πŸ”„ Ownership Transfer: Transfer board ownership with confirmation
  • πŸ“§ Invitations: Email-based board invitations
  • πŸ”” Real-time Updates: Live synchronization across all users

User Experience

  • πŸŒ“ Dark/Light Mode: Toggle between themes
  • 🌍 Multilingual: Support for FR/EN
  • πŸ“± Responsive Design: Works seamlessly on desktop and mobile
  • ⚑ Fast & Modern: Built with Next.js 14 and React Server Components

Premium Features

  • πŸ’³ Subscription Plans: Free, Pro, and Enterprise tiers
  • πŸ“Š My Tasks View: Centralized view of all assigned tasks
  • 🎨 Custom Board Colors: Personalize your workspace

πŸš€ Getting Started

Option 1: Access directly via URL

Check out the live application: https://epi-trello-iota.vercel.app/ 🌐

Option 2: Run from GitHub

  1. Clone the repository

    git clone https://github.com/WhiiteRose/EpiTrello.git
    cd epitrello
  2. Install dependencies

    npm install
    # or
    pnpm install
  3. Set up environment variables

    cp .env.example .env.local

    Fill in your .env.local with the required values:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
    SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
    
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
    
    STRIPE_SECRET_KEY=your_stripe_secret_key
    STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
    STRIPE_PRICE_PRO_ID=price_xxx
    STRIPE_PRICE_ENTERPRISE_ID=price_xxx
  4. Run the development server

    npm run dev

    Open http://localhost:3000 in your browser.

Option 3: Run with Docker

  1. Build the Docker image

    docker build -t epitrello .
  2. Run the container

    docker run -p 3000:3000 --env-file .env.local epitrello

Or using Docker Compose:

docker-compose up -d

πŸ” Roles & Permissions

Role View Tasks Create/Edit Tasks Manage Members Delete Board Transfer Ownership
Owner βœ… βœ… βœ… βœ… βœ…
Member βœ… βœ… ❌ ❌ ❌
Viewer βœ… ❌ ❌ ❌ ❌

Ownership Transfer

Board owners can transfer ownership to another member. This action:

  • Promotes the selected member to Owner
  • Demotes the current owner to Member
  • Cannot be undone
  • Requires confirmation

πŸ“š Documentation

For detailed documentation, guides, and tutorials, visit our Wiki.

Wiki Contents


πŸ› οΈ Tech Stack


πŸ“ Project Structure

epitrello/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ boards/            # Board pages
β”‚   β”œβ”€β”€ dashboard/         # Dashboard page
β”‚   └── my-tasks/          # My tasks page
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ ui/               # shadcn/ui components
β”‚   └── navbar.tsx        # Navigation bar
β”œβ”€β”€ lib/                   # Utilities and helpers
β”‚   β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   β”œβ”€β”€ services.ts       # API services
β”‚   └── supabase/         # Supabase client & models
β”œβ”€β”€ public/               # Static assets
└── .env.local           # Environment variables (not committed)

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read our Contributing Guidelines for more details.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“ž Support


Made with ❀️ by the EpiTrello Team

About

Trello-inspired Kanban web app with boards, columns, tasks, drag & drop, and secure auth (Clerk) + Supabase (RLS).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages