Skip to content

Minimal Kanban platform with authentication, multi-tenant organizations, and kanban boards. Built with Better Auth, ZenStack, Prisma, and shadcn/ui

License

Notifications You must be signed in to change notification settings

olliethedev/multiboard

Repository files navigation

πŸš€ Multiboard - Open-Source Kanban for Modern Teams

Streamline your workflow with intuitive task management and real-time collaboration. Built for teams who value simplicity and control.

🎨 Screenshots

Dark Mode

Multiboard Dark Mode

Light Mode

Multiboard Light Mode

✨ Why Open-Source Kanban?

  • πŸ”“ Complete Control: Own your data, customize without limits, deploy anywhere
  • πŸ’° Cost-Effective: No per-user fees or subscription locks - scale freely
  • πŸ”’ Privacy First: Keep sensitive project data on your own infrastructure
  • πŸ› οΈ Extensible: Modify and extend functionality to match your exact needs
  • 🌍 Community-Driven: Benefit from collective improvements and security reviews
  • 🏒 Enterprise Ready: Self-host with confidence for compliance and security requirements

🎯 Features

  • πŸ“‹ Intuitive Kanban Boards: Drag-and-drop task management with unlimited columns
  • πŸ‘₯ Team Collaboration: Real-time updates, comments, and seamless teamwork
  • 🏒 Multi-Organization: Manage multiple teams and organizations in one place
  • ⚑ Lightning Fast: Built with modern web technologies for instant interactions
  • πŸ” Secure Authentication: Enterprise-grade security with flexible auth options
  • πŸ“± Mobile Responsive: Perfect experience across all devices
  • 🎨 Rich Text Editor: Full-featured task descriptions with markdown support
  • πŸ“Ž File Attachments: Upload and manage files directly in tasks
  • πŸ”” Smart Notifications: Stay updated with intelligent notification system
  • πŸ“Š Auto-Generated APIs: Type-safe REST APIs with interactive documentation
  • πŸš€ One-Click Deploy: Easy deployment to Vercel or your own infrastructure
  • πŸ“ Blog Post Management: Full CRUD operations for blog posts with rich text editing for site admin users

πŸ› οΈ Technology Stack

Technology Purpose Link
better-auth Authentication and authorization better-auth.com
better-auth-ui Plug and play auth UI components better-auth-ui.com
shadcn/ui Beautifully-designed, accessible components ui.shadcn.com
Prisma PostgreSQL ORM and database toolkit prisma.io
ZenStack TypeScript toolkit enhancing Prisma with authorization and auto-generated APIs zenstack.dev
TanStack Query Powerful data-fetching and state management tanstack.com/query
Scalar Beautiful API documentation scalar.com
AutoForm Generate forms from Zod schemas github.com/vantezzen/autoform
Minimal Tiptap Clean and minimal rich text editor github.com/Aslam97/shadcn-minimal-tiptap
nuqs Type-safe search params state manager nuqs.47ng.com
Vercel Blob Scalable file and image storage vercel.com/docs/vercel-blob
Resend Modern email delivery platform resend.com
DiceUI Kanban Beautiful kanban component library diceui.com/docs/components/kanban

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm, yarn, pnpm, or bun

1. Clone & Install

git clone https://github.com/olliethedev/multiboard.git
cd multiboard
npm install

2. Environment Setup

Create a .env.local or .env file:

# Database
DATABASE_URL="postgresql://username:password@localhost:5432/multiboard"

# Auth
BETTER_AUTH_SECRET="your-secret-key-here"
BETTER_AUTH_URL="http://localhost:3000"

# Email (for organization invites and password resets)
RESEND_API_KEY="your-resend-api-key"
FROM_EMAIL="[email protected]"

# File Storage (for task attachments and profile pictures)
BLOB_READ_WRITE_TOKEN="your-vercel-blob-token"

3. Database Setup

# Generate the database client and API
npm run zenstack:generate

# Push the schema to your database
npm run prisma:push

4. Start Development Server

npm run dev

Open http://localhost:3000 to see your kanban boards!

5. Create a blog post

You must have a user with the role admin to create a blog post. Navigate to /posts/new to create a blog post. Admin users will see special UI related to blog posts, like editing the blog post, and draft posts.

πŸ“š API Documentation

Multiboard automatically generates comprehensive API documentation:

  • Interactive API Docs: Visit /api/openapi/reference for full API exploration
  • OpenAPI Schema: Available at /api/openapi/openapi.json
  • Type-Safe Hooks: Auto-generated React Query hooks for seamless frontend integration

πŸš€ Deployment

Vercel (Recommended)

Deploy with Vercel

  1. Add environment variables
  2. Deploy with the custom build command: npm run vercel:build

πŸ—οΈ Project Structure

multiboard/
β”œβ”€β”€ app/                   # Next.js app directory
β”‚   β”œβ”€β”€ boards/            # Kanban board pages
β”‚   β”œβ”€β”€ posts/             # Blog pages
β”‚   β”œβ”€β”€ api/               # API routes, auth, and OpenAPI docs
β”‚   └── auth/              # Authentication pages
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ boards/            # Board-specific components
β”‚   β”œβ”€β”€ marketing/         # Landing page components
β”‚   β”œβ”€β”€ posts/             # Blog components
β”‚   └── ui/                # Reusable UI components
β”œβ”€β”€ hooks/                 # Utility hooks and auto-generated React Query hooks
β”œβ”€β”€ lib/                   # Utility functions and configurations
└── schema.zmodel          # ZenStack schema with access policies

🀝 Contributing

We love contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: npm run lint
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Update documentation as needed
  • Ensure all CI checks pass

πŸ“ License

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

🌟 Star History

If you find Multiboard useful, please consider giving it a star on GitHub! ⭐

πŸ“§ Support


Ready to streamline your team's workflow? Try Multiboard now or star the repo to show your support! πŸš€

About

Minimal Kanban platform with authentication, multi-tenant organizations, and kanban boards. Built with Better Auth, ZenStack, Prisma, and shadcn/ui

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published