The most seamless seating arrangement organizer you could ever use
Features β’ Demo β’ Getting Started β’ Tech Stack β’ Contributing
Coseat is a modern, collaborative seating arrangement application designed for event organizers, wedding planners, and venue managers. Create beautiful seating layouts with an intuitive drag-and-drop canvas, collaborate in real-time with your team, and make every seat count.
- Infinite Canvas - Design layouts of any size with zoom and pan controls
- Real-time Collaboration - Share event codes and work together seamlessly
- Drag & Drop Interface - Intuitive controls for chairs, tables, and blocks
- Named Seating - Assign names to chairs and manage guest lists
- Multiple Events - Organize unlimited events from a single dashboard
- Lightning Fast - Built with performance in mind using Next.js and Firebase
- Drag and drop chairs and blocks anywhere on an infinite canvas
- Zoom and pan to navigate large seating arrangements
- Smooth animations and responsive interactions
- Create events with unique shareable codes
- Invite team members to collaborate in real-time
- Role-based access control for event members
- Add and position chairs with custom names
- Create blocks/tables of custom sizes
- Edit and delete elements with context menus
- Beautiful UI built with Tailwind CSS and shadcn/ui
- Works seamlessly on desktop and mobile devices
- Dark mode support (coming soon)
π§ Demo coming soon! Check back later for screenshots and video walkthrough.
- Node.js 18.x or higher
- pnpm (recommended) or npm/yarn
- Firebase account with Firestore enabled
-
Clone the repository
git clone https://github.com/yourusername/coseat.git cd coseat -
Install dependencies
pnpm install
-
Set up Firebase
Create a
.env.localfile in the root directory:# Firebase Client Configuration NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id # Firebase Admin SDK FIREBASE_ADMIN_PROJECT_ID=your_project_id FIREBASE_ADMIN_CLIENT_EMAIL=your_client_email FIREBASE_ADMIN_PRIVATE_KEY=your_private_key
-
Run the development server
pnpm dev
-
Open your browser
Navigate to http://localhost:3000
pnpm build
pnpm start- Next.js 16 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS 4 - Utility-first CSS framework
- shadcn/ui - Re-usable component library
- Lucide Icons - Beautiful icon set
- Firebase Authentication - User authentication
- Firestore - NoSQL database
- Firebase Admin SDK - Server-side operations
- Zustand - Lightweight state management
- Radix UI - Accessible component primitives
- Sonner - Toast notifications
- tw-animate-css - Tailwind animations
coseat/
βββ actions/ # Server actions
β βββ auth/ # Authentication actions
β βββ block/ # Block CRUD operations
β βββ chair/ # Chair CRUD operations
β βββ events/ # Event management
β βββ profile/ # User profile actions
βββ app/ # Next.js App Router
β βββ (auth)/ # Auth routes
β βββ (canvas)/ # Canvas/event routes
β βββ (home)/ # Home dashboard
β βββ page.tsx # Landing page
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ ...
βββ hooks/ # Custom React hooks
βββ lib/ # Utilities and configs
β βββ firebase/ # Firebase configuration
β βββ types.ts # TypeScript types
β βββ utils.ts # Helper functions
βββ store/ # Zustand stores
βββ public/ # Static assets
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - 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 and conventions
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ for event organizers everywhere
Β© 2025 CoSeat. Making every seat count.