A high-performance, real-time collaboration platform built with modern web technologies
Get started in 5 minutes! See QUICK_START.md for detailed instructions.
# 1. Clone the repository
git clone https://github.com/BunnySweety/kollab.git
cd kollab
# 2. Install dependencies
npm run install:all
# 3. Copy environment files
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env
# 4. Start Docker services (PostgreSQL + Redis)
npm run docker:up
# 5. Initialize database
npm run db:setup
# 6. Start the application
npm run dev
Certaines fonctionnalités nécessitent une configuration explicite :
| Variable | Description | Format |
|---|---|---|
SYSTEM_ADMIN_IDS |
Liste d’UUID autorisés à appeler /api/search/admin/* et /api/cache/*. |
UUID séparés par des virgules |
SYSTEM_ADMIN_EMAILS |
Alternative basée sur les emails (utile pour le staging). | Emails séparés par des virgules |
SEARCH_SYNC_BATCH_SIZE |
Taille des lots pour syncAllToSearch (défaut : 500, max : 2000). |
Entier positif |
ENABLE_DEMO_MODE |
Active le seeding seed-demo-data (compte [email protected]). |
true / false |
Configurez au moins
SYSTEM_ADMIN_IDSouSYSTEM_ADMIN_EMAILS. Sans cela, les endpoints d’administration restent bloqués par défaut.
npm run dev # Start all (Docker + API + Web)
npm run dev:api # Start API only
npm run dev:web # Start Web only
npm run docker:up # Start Docker services
npm run docker:down # Stop Docker services
npm run db:setup # Initialize & seed database
npm run db:migrate # Run migrations
npm run db:seed # Load demo data
npm run db:studio # Open Drizzle Studio (GUI)
npm run db:reset # Reset database
npm run redis:cli # Open Redis CLI
npm run redis:flush # Clear Redis cache
npm run redis:info # Show Redis stats
npm run build # Build all for production
npm run lint # Run linters
npm run test # Run tests
kollab/
├── apps/
│ ├── api/ # Backend API (Hono + TypeScript)
│ │ ├── src/
│ │ │ ├── routes/ # API routes
│ │ │ ├── middleware/ # Middleware (auth, CSRF, rate-limit)
│ │ │ ├── lib/ # Utilities (auth, redis, cache)
│ │ │ ├── db/ # Database schema & migrations
│ │ │ └── index.ts # App entry point
│ │ └── package.json
│ │
│ └── web/ # Frontend (SvelteKit)
│ ├── src/
│ │ ├── routes/ # Pages
│ │ ├── lib/ # Components & utilities
│ │ │ ├── components/ # UI components
│ │ │ ├── stores/ # State management
│ │ │ └── api-client.ts # Centralized API client
│ │ └── app.html
│ └── package.json
│
├── .github/
│ └── workflows/ # CI/CD workflows
│ ├── ci.yml # Continuous Integration
│ ├── deploy-staging.yml # Staging deployment
│ └── deploy-production.yml # Production deployment
│
├── scripts/ # Utility scripts
│ ├── deploy-staging.sh # Staging deployment script
│ └── monitoring-check.sh # Health check script
│
├── docker-compose.yml # Local development services
├── package.json # Root package (scripts)
├── QUICK_START.md # Quick start guide
├── DEPLOYMENT_GUIDE.md # Deployment documentation
└── README.md # This file
Kollab implements industry-standard security practices:
| Category | Status | Coverage |
|---|---|---|
| Authentication | Excellent | 100% |
| Authorization | Excellent | 100% |
| Input Validation | Excellent | 90% |
| CSRF Protection | Excellent | 100% |
| XSS Protection | Excellent | 95% |
| Rate Limiting | Good | 80% |
| Overall | Excellent | 94% |
Found a security vulnerability? Please email security@kollab.com (don't create a public issue).
Staging automatically deploys on push to develop branch.
git push origin develop
# → Triggers GitHub Actions workflow
# → Runs tests, builds, deploys to staging
Production deploys on push to main branch (requires manual approval).
git checkout main
git merge develop
git push origin main
# → Triggers GitHub Actions workflow
# → Requires reviewer approval
# → Runs tests, builds, deploys to production
See DEPLOYMENT_GUIDE.md for detailed instructions.
| Metric | Before Optimizations | After Optimizations | Improvement |
|---|---|---|---|
| Membership Check | 15-20ms | 1-2ms | 90% faster |
| DB Queries/min | 10,000 | 1,000 | -90% |
| Throughput | 500 req/s | 1,500 req/s | +200% |
| API Latency (p95) | 250ms | 80ms | -68% |
| DB CPU Usage | 60-80% | 20-30% | -60% |
# Linting
npm run lint
# Type checking
cd apps/api && npm run type-check
# Security audit
npm audit
# Unit tests
cd apps/api && npm test
# Watch mode (development)
cd apps/api && npm run test:watch
# Coverage report
cd apps/api && npm run test:coverage
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Fork & Clone
git clone https://github.com/BunnySweety/kollab.git
cd kollab
Create Branch
git checkout -b feature/your-feature-name
Develop
npm run dev # Start development environment
# Make your changes
npm run lint # Check code quality
Commit & Push
git add .
git commit -m "feat: add amazing feature"
git push origin feature/your-feature-name
Create Pull Request
developThis project is licensed under the MIT License - see the LICENSE file for details.
Built with amazing open-source technologies: