Kandan is an Open Source Alternative to HipChat
TypeScript
2,685
4 commits
updated Apr 6, 2026
Modern revival of Kandan — a self-hosted open-source team chat app. Built on Angular 21 + Express/Node/TypeScript with real-time messaging via Socket.io.
Status: Early development. Backend scaffolded, Angular client coming next.
| Layer | Technology |
|---|---|
| Frontend | Angular 21 + TailwindCSS |
| Backend | Express 5 + TypeScript |
| Database | SQLite via Drizzle ORM |
| Real-time | Socket.io |
| Auth | JWT + bcrypt |
/me emote commandsgit clone git@github.com:DamageLabs/kandan-core.git
cd kandan-core
# Server
cd server
cp ../.env.example .env # edit as needed
npm install
npm run dev # http://localhost:3200
| Endpoint | Method | Description |
|---|---|---|
/api/v1/auth/register | POST | Register new user |
/api/v1/auth/login | POST | Login, returns JWT |
/api/v1/auth/me | GET | Current user |
/api/v1/channels | GET | List channels |
/api/v1/channels/:id | GET | Channel + recent messages |
/api/v1/channels | POST | Create channel (admin) |
/api/v1/messages/channel/:id | GET | Paginated message history |
/api/v1/users | GET | List users (admin) |
| Event | Direction | Description |
|---|---|---|
channel:join | client → server | Join a channel room |
channel:leave | client → server | Leave a channel room |
message:send | client → server | Send a message |
message:new | server → client | New message broadcast |
typing:start | client → server | User started typing |
typing:stop | client → server | User stopped typing |
user:connected | server → client | User joined channel |
user:disconnected | server → client | User left channel |
MIT
1,808 followers · starred Mar 2013
3,654 followers · starred Feb 2014
268 followers · starred Sep 2014
104 followers · starred Jun 2014
Kandan is an Open Source Alternative to HipChat
TypeScript
2,685
4 commits
updated Apr 6, 2026
Modern revival of Kandan — a self-hosted open-source team chat app. Built on Angular 21 + Express/Node/TypeScript with real-time messaging via Socket.io.
Status: Early development. Backend scaffolded, Angular client coming next.
| Layer | Technology |
|---|---|
| Frontend | Angular 21 + TailwindCSS |
| Backend | Express 5 + TypeScript |
| Database | SQLite via Drizzle ORM |
| Real-time | Socket.io |
| Auth | JWT + bcrypt |
/me emote commandsgit clone git@github.com:DamageLabs/kandan-core.git
cd kandan-core
# Server
cd server
cp ../.env.example .env # edit as needed
npm install
npm run dev # http://localhost:3200
| Endpoint | Method | Description |
|---|---|---|
/api/v1/auth/register | POST | Register new user |
/api/v1/auth/login | POST | Login, returns JWT |
/api/v1/auth/me | GET | Current user |
/api/v1/channels | GET | List channels |
/api/v1/channels/:id | GET | Channel + recent messages |
/api/v1/channels | POST | Create channel (admin) |
/api/v1/messages/channel/:id | GET | Paginated message history |
/api/v1/users | GET | List users (admin) |
| Event | Direction | Description |
|---|---|---|
channel:join | client → server | Join a channel room |
channel:leave | client → server | Leave a channel room |
message:send | client → server | Send a message |
message:new | server → client | New message broadcast |
typing:start | client → server | User started typing |
typing:stop | client → server | User stopped typing |
user:connected | server → client | User joined channel |
user:disconnected | server → client | User left channel |
MIT
1,808 followers · starred Mar 2013
3,654 followers · starred Feb 2014
268 followers · starred Sep 2014
104 followers · starred Jun 2014