Skip to content

Provides an editable, presentable whiteboard interface that help programmers plan out their architecture and structure.

License

Notifications You must be signed in to change notification settings

ThatParticularPencil/Constellar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Constellar

AI-Powered Whiteboard for Intelligent Design

Constellar is an intelligent whiteboard application that combines the power of AI with the intuitive hand-drawn aesthetics of Excalidraw. Simply describe what you want to create in natural language, and watch as diagrams, flowcharts, and system architectures materialize on your canvas.

🌟 Features

  • 🤖 AI-Powered Design: Chat with AI to generate complex diagrams and visual architectures
  • 💬 Natural Language Input: Describe your vision in plain English - "create a web app architecture"
  • 🎨 Excalidraw Canvas: Beautiful hand-drawn aesthetic with professional diagramming capabilities
  • ⚡ Real-Time Generation: Watch your ideas transform into visual diagrams instantly
  • 💾 Auto-Save: Never lose your work with automatic project persistence
  • 🎯 Smart Elements: AI understands shapes, connections, and layout optimization

🚀 Tech Stack

Frontend

  • Next.js 15.3.5 - React framework with App Router
  • React 19 - UI library
  • TypeScript 5 - Type safety
  • Tailwind CSS v4 - Styling
  • Excalidraw - Canvas and diagramming
  • Framer Motion - Animations

AI Integration

  • Gemini AI (gemini-2.5-flash) - Natural language understanding
  • Model Context Protocol (MCP) - Custom AI-to-canvas adapter

Backend

  • Drizzle ORM - Type-safe database queries
  • libSQL - Serverless SQLite database
  • better-auth - Authentication
  • Python MCP Server - AI function calling backend

📦 Getting Started

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm
  • Python 3.8+ (for MCP server)

Installation

  1. Clone the repository
git clone https://github.com/ThatParticularPencil/Constellar.git
cd Constellar
  1. Install dependencies
npm install
  1. Set up environment variables

Create a .env.local file:

# Gemini API Key
GEMINI_API_KEY=your_gemini_api_key_here

# Database (optional for local dev)
DATABASE_URL=your_database_url

# Add other environment variables as needed
  1. Run the development server
npm run dev

Open http://localhost:3000 to see the app.

Optional: MCP Server Setup

For advanced AI features, set up the Python MCP server:

cd mcp-server
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python server.py --api

📖 Usage

  1. Sign In: Create an account or sign in to access your workspace
  2. Create Project: Start a new whiteboard canvas
  3. Chat with AI: Use the sidebar to describe what you want to create
  4. Watch Magic Happen: AI generates diagrams directly on your canvas
  5. Edit & Refine: Manually adjust or ask AI for modifications

Example Prompts

  • "Create a system architecture for a full-stack web app"
  • "Draw a flowchart for user authentication"
  • "Make a network diagram with 3 servers and a load balancer"
  • "Design a microservices architecture"

🗂️ Project Structure

Constellar/
├── src/
│   ├── app/                    # Next.js App Router pages
│   │   ├── api/               # API routes
│   │   ├── canvas/[id]/       # Canvas workspace
│   │   └── projects/          # Projects dashboard
│   ├── components/            # React components
│   │   ├── ui/               # shadcn/ui components
│   │   ├── ChatSidebar.tsx   # AI chat interface
│   │   └── LandingPage.tsx   # Homepage
│   ├── lib/                   # Utilities and helpers
│   │   ├── ai/               # AI integration
│   │   └── mcpAdapter.ts     # MCP protocol adapter
│   └── contexts/             # React contexts
├── mcp-server/                # Python MCP server
└── public/                    # Static assets

🎨 Key Components

  • ChatSidebar: AI chat interface with conversation history
  • Canvas: Excalidraw-powered drawing canvas
  • MCP Adapter: Converts AI actions to canvas elements
  • Projects Dashboard: Manage and organize your diagrams

🔧 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

Environment Variables

See .env.local.example for all available environment variables.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License.

🙏 Acknowledgments

🔗 Links


Built with ✨ by the Constellar team

About

Provides an editable, presentable whiteboard interface that help programmers plan out their architecture and structure.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5