Knowledge sharing platform for teams. Members take turns presenting topics ("dropping knowledge"), with organized meeting notes, slides, and a weekly rotation schedule.
- Knowledge Sessions - Create, browse, and search sessions with markdown notes, file uploads, and tags
- Rotation Schedule - Auto-generated presenter rotation with skip/swap support
- Dashboard - Upcoming presenter countdown, recent sessions, leaderboard, and stats
- Slack Integration - Webhook notifications for new sessions and reminders
- Bookmarks & Export - Star sessions and download notes as markdown
cd backend
npm install
npm run seed # Load demo data (optional)
npm start # Runs on http://localhost:3001cd frontend
npm install
npm run dev # Runs on http://localhost:5173Copy .env.example to backend/.env:
PORT=3001
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
- Backend: Node.js, Express, SQLite (better-sqlite3), multer
- Frontend: React, Vite, TailwindCSS, react-markdown
- Slack: Incoming Webhooks API
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/sessions |
List sessions (search, filter, paginate) |
| GET | /api/sessions/:id |
Get session detail |
| POST | /api/sessions |
Create session (multipart) |
| PUT | /api/sessions/:id |
Update session |
| DELETE | /api/sessions/:id |
Delete session |
| PATCH | /api/sessions/:id/bookmark |
Toggle bookmark |
| GET | /api/members |
List members |
| POST | /api/members |
Add member |
| PUT | /api/members/:id |
Update member |
| DELETE | /api/members/:id |
Deactivate member |
| GET | /api/rotation |
Get rotation schedule |
| POST | /api/rotation/generate |
Generate rotation |
| PATCH | /api/rotation/:id |
Update rotation entry |
| GET | /api/settings |
Get settings |
| PUT | /api/settings |
Update settings |
| POST | /api/slack/test |
Test Slack webhook |
| GET | /api/stats |
Dashboard stats |