Streamline your workflow with intuitive task management and real-time collaboration. Built for teams who value simplicity and control.
- π 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
- π 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 | 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 |
- Node.js 18+
- PostgreSQL database
- npm, yarn, pnpm, or bun
git clone https://github.com/olliethedev/multiboard.git
cd multiboard
npm install
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"
# Generate the database client and API
npm run zenstack:generate
# Push the schema to your database
npm run prisma:push
npm run dev
Open http://localhost:3000 to see your kanban boards!
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.
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
- Add environment variables
- Deploy with the custom build command:
npm run vercel:build
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
We love contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Run tests:
npm run lint
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Update documentation as needed
- Ensure all CI checks pass
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Multiboard useful, please consider giving it a star on GitHub! β
- Issues: Report bugs or request features via GitHub Issues
Ready to streamline your team's workflow? Try Multiboard now or star the repo to show your support! π