Open source chat <Support /> widget for React
Issues
·
Docs
·
Discord
Cossistant is an open source chat support widget focused on the React ecosystem. Built for developers who need a flexible, customizable chat solution that integrates with their applications. It provides headless components, real-time messaging, and a complete backend infrastructure.
Headless Components: Collection of unstyled, accessible React components to build your perfect chat interface.
Real-time Messaging: WebSocket-powered live chat with instant message delivery and presence indicators.
Conversation Management: Organize and track customer conversations with persistent chat history.
API-First Design: RESTful and tRPC APIs for complete integration flexibility.
Self-Hosted: Full control over your data with easy deployment options.
Developer-Friendly: TypeScript-first with excellent DX and comprehensive documentation.
Install dependencies and run the development environment:
bun install --workspaces
bun dev
- Monorepo
- Bun
- React
- TypeScript
- Next.js
- Hono
- tRPC
- Drizzle ORM
- TailwindCSS
- WebSockets
- PlanetScale (Production Postgres)
- DBgin (Local Development)
- Resend (Transactional Email)
- Drizzle (Database ORM)
- Better Auth (Authentication)
- Create an account on PlanetScale
- Create a new Postgres database
- Get your connection string from the dashboard
For local development, use DBgin for a quick PostgreSQL setup.
-
Configure your database connection in the
.env
file:DATABASE_URL=postgresql://[user]:[password]@[endpoint]/[dbname]
-
Run the database migrations:
cd apps/api bun db:migrate
To make changes to the database schema:
- Update the schema files in
apps/api/src/db/schema
- Generate migrations:
cd apps/api bun db:generate
This project is licensed under the AGPL-3.0 for non-commercial use.
For commercial use or deployments requiring a setup fee, please contact us for a commercial license at [email protected].
By using this software, you agree to the terms of the license.