Skip to content

Zoro-1012/trello-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ TaskOrbit Board

Next.js React Prisma PostgreSQL Vercel

🎯 A Powerful Trello-Inspired Kanban Board Built with Modern Web Technologies

Manage your projects with style! Create boards, organize tasks, collaborate with teams, and track progress with an intuitive drag-and-drop interface.


✨ Features

🎨 Core Functionality

  • βœ… Multiple Boards: Create and switch between different project boards
  • βœ… Drag & Drop: Smooth card and list reordering with visual feedback
  • βœ… Real-time Updates: Instant synchronization across all connected clients
  • βœ… Responsive Design: Optimized for desktop, tablet, and mobile devices

πŸ“‹ Task Management

  • βœ… Card Operations: Create, edit, archive, and delete cards
  • βœ… Rich Descriptions: Support for formatted text and markdown
  • βœ… Due Dates: Set and track deadlines with visual indicators
  • βœ… Checklists: Break down tasks into manageable subtasks
  • βœ… Labels: Color-coded categorization system
  • βœ… Cover Images: Add visual context to cards

πŸ‘₯ Collaboration

  • βœ… Team Members: Add and manage workspace members
  • βœ… Card Assignment: Assign members to specific tasks
  • βœ… Comments: Threaded discussions on cards
  • βœ… Attachments: Upload files and add links
  • βœ… Activity Logs: Track all changes and updates

🎭 Customization

  • βœ… Board Themes: Multiple background options including Trello Classic
  • βœ… Custom Colors: Personalize with color picker
  • βœ… Member Avatars: Custom initials and color schemes
  • βœ… Dark/Light Modes: Adaptive theming (planned)

πŸ” Advanced Features

  • βœ… Search: Find cards by title instantly
  • βœ… Filtering: Filter by labels, members, due dates, and status
  • βœ… Keyboard Shortcuts: Power user shortcuts for efficiency
  • βœ… Export/Import: Data portability options

πŸ› οΈ Tech Stack

Frontend

  • ⚑ Next.js 15 - React framework with App Router
  • βš›οΈ React 18 - UI library with hooks and concurrent features
  • 🎨 CSS Modules - Scoped styling with responsive design
  • 🎯 @hello-pangea/dnd - Advanced drag-and-drop functionality
  • πŸ“… date-fns - Modern date utility library
  • 🎭 Lucide React - Beautiful icon library

Backend

  • 🟒 Node.js - Runtime environment
  • πŸ”„ Next.js API Routes - Serverless API endpoints
  • πŸ—„οΈ Prisma ORM - Type-safe database operations
  • 🐘 PostgreSQL - Robust relational database
  • ☁️ Neon - Serverless PostgreSQL hosting

DevOps & Tools

  • πŸš€ Vercel - Deployment and hosting platform
  • πŸ“¦ npm - Package management
  • 🎯 ESLint - Code quality and linting
  • πŸ”§ Prisma CLI - Database management
  • πŸ“ Git - Version control

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ installed
  • npm or yarn package manager
  • Git for version control

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/taskorbit-board.git
    cd taskorbit-board
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open your browser

    http://localhost:3000
    

Database Setup (Optional)

For full persistence, set up PostgreSQL:

  1. Create a Neon database (or any PostgreSQL instance)
  2. Add environment variable
    echo "DATABASE_URL=your_postgresql_connection_string" > .env
  3. Initialize database
    npx prisma generate
    npx prisma db push
    npm run seed

πŸ“– Usage

Creating Your First Board

  1. Click the "Add Board" button
  2. Choose a background theme
  3. Start adding lists and cards

Managing Tasks

  • Add Lists: Click "Add List" to create columns
  • Create Cards: Click "Add Card" within any list
  • Drag & Drop: Move cards between lists or reorder them
  • Edit Details: Click any card to open the detail modal

Collaboration

  • Add Members: Use the member panel to add team members
  • Assign Tasks: Drag members onto cards
  • Add Comments: Discuss tasks directly on cards
  • Attach Files: Upload images, documents, or links

πŸ—οΈ Project Structure

taskorbit-board/
β”œβ”€β”€ app/                    # Next.js app directory
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”œβ”€β”€ layout.js          # Root layout
β”‚   └── page.js            # Home page
β”œβ”€β”€ backend/               # Backend logic
β”‚   β”œβ”€β”€ board-repository.js # Data access layer
β”‚   β”œβ”€β”€ prisma.js         # Database client
β”‚   └── store.js          # In-memory fallback
β”œβ”€β”€ frontend/              # Frontend components
β”‚   β”œβ”€β”€ components/        # Reusable UI components
β”‚   └── styles/           # Component styles
β”œβ”€β”€ prisma/               # Database schema
β”‚   β”œβ”€β”€ schema.prisma     # Prisma schema
β”‚   └── seed.js          # Database seeding
β”œβ”€β”€ public/               # Static assets
└── shared/               # Shared utilities
    β”œβ”€β”€ board-state.js    # Initial state
    └── board-themes.js   # Theme definitions

πŸ”§ Development

Available Scripts

npm run dev      # Start development server
npm run build    # Build for production
npm run start    # Start production server
npm run lint     # Run ESLint
npm run seed     # Seed the database

Database Commands

npx prisma studio     # Open Prisma Studio
npx prisma db push    # Push schema changes
npx prisma generate   # Generate Prisma client

Environment Variables

Create a .env file in the root directory:

DATABASE_URL=postgresql://username:password@host:port/database

🌐 Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Add environment variables in Vercel dashboard
  3. Deploy automatically on every push

Manual Deployment

npm run build
npm run start

🀝 Contributing

We welcome contributions! 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

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed

πŸ“„ License

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


πŸ™ Acknowledgments

  • Trello for the inspiration and design patterns
  • Vercel for amazing deployment platform
  • Neon for serverless PostgreSQL
  • Prisma for the excellent ORM
  • Next.js team for the fantastic framework

πŸ“ž Support

If you have any questions or need help:


Made with ❀️ using Next.js, React, and Prisma

Back to top

About

Full-stack Trello clone with drag-and-drop, Prisma, Neon PostgreSQL, and Vercel deployment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors