PandaBoard is a modern, full-stack, open-source alternative to Notion, built for developers, writers, and teams who want full control over their data and workflows.
It supports workspace organization, nested pages, a rich-text block editor, authentication, and planned real-time collaboration—all powered by cutting-edge web technologies like Next.js, NestJS, Lexical, and PostgreSQL.
Self-host it, customize it, or contribute. PandaBoard is designed to be the fastest way to build your own Notion-style app.
- 📦 Project Structure
- 🚀 Features
- 🧰 Tech Stack
- 🐳 Docker Setup
- 📂 Manual Installation
- 🤝 Contributing
- 📄 License
.
├── client/ # Next.js frontend with Lexical Editor
├── server/ # NestJS backend with Drizzle + PostgreSQL
└── README.md # You're here!Each folder has its own README with setup instructions:
✅ Finished / ⏳ In progress / 🧠 Planned
- ✅ Block-based rich text editing (Lexical)
- ✅ Project/workspace structure
- ✅ JWT-based authentication
- ✅ Serverless-ready & scalable architecture
- ✅ Local storage caching
- ✅ Responsive layout (mobile/tablet/desktop)
- ⏳ Real-time collaboration via WebSockets
- ⏳ Drag and drop reordering
- ⏳ Markdown export/import
- ⏳ AI assistant for writing/code blocks
- 🧠 Role-based access control (RBAC)
- 🧠 Page history/versioning
- 🧠 Public sharing + links
- Next.js 14 (App Router)
- React
- Lexical Editor
- Tailwind CSS
- Shadcn UI
- Drizzle ORM (for typing and form schema)
Soon you'll be able to run the entire project with a single command:
docker-compose up --buildPlanned containers:
client— Next.js frontendserver— NestJS backendpostgres— PostgreSQL DB- Optional: pgAdmin
Want to help? PRs for Docker setup are welcome!
- Node.js v18+
- PostgreSQL database
- pnpm (or npm/yarn)
.envfiles configured (examples provided)
cd server
cp .env.example .env
pnpm install
pnpm run start:devThis will start the backend server at http://localhost:3333.
cd ../client
cp .env.example .env
pnpm install
pnpm run devFrontend runs on http://localhost:3000.
Open in your browser and log in/register to get started.
Your contributions make this project better!
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add feature" - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
Star ⭐ the project to support it!
MIT License — Free for personal and commercial use.
See LICENSE for full license text.
- GitHub: CyberStackPro
- Twitter/X: @CyberStackPro
- Website: Coming soon!
- Contributions welcome — join the dev community 🙌