Production-ready collaborative workspace platform with 24 enterprise features, built with SvelteKit and modern web technologies.
- π Enterprise Security: Multi-factor auth, OAuth (Google/GitHub/Discord), audit logging, GDPR compliance
- π€ Real-time Collaboration: Live editing with cursors, presence indicators, collaborative text editing
- π¨ Rich UI/UX: 6 themes, 4 layouts, 50+ shortcuts, 12 languages, accessibility (WCAG 2.1 AA)
- π Integrations: Slack/Discord bots, Calendar sync (Google/Outlook), Cloud storage, Git repos, Webhooks
- π Analytics: Interactive dashboards with charts, performance monitoring, user insights
- π DevOps: Docker orchestration, CI/CD pipeline, PostgreSQL/Redis, Prometheus monitoring
git clone https://github.com/PythonTilk/notevault-svelte.git
cd notevault-svelte
./start.sh
Access: http://localhost:3000 β’ Admin: [email protected] / admin123 β’ Monitoring: http://localhost:3002
- Node.js 18+ and npm
- Docker and Docker Compose
- Git
git clone https://github.com/PythonTilk/notevault-svelte.git
cd notevault-svelte
npm install
# Start Redis and backend services
docker-compose -f docker-compose.dev.yml up -d
# In a new terminal
npm run dev
- Frontend: http://localhost:5173 (Vite dev server)
- Backend API: http://localhost:3001
- Redis: localhost:6379
# Production-like environment
docker-compose up -d
# Development with hot reload
docker-compose -f docker-compose.dev.yml up -d
npm run dev # Frontend runs on host for hot reload
The application includes a complete monitoring solution:
- Prometheus (http://localhost:9090) - Metrics collection
- Grafana (http://localhost:3002) - Dashboards and visualization
- Node Exporter (http://localhost:9100) - System metrics
- cAdvisor (http://localhost:8080) - Container metrics
- NoteVault Overview: HTTP requests, response times, CPU/memory usage, uptime
- Default Login: admin / admin123
Frontend: SvelteKit, TypeScript, Tailwind CSS
Backend: Node.js, Express, PostgreSQL/SQLite
Real-time: Socket.IO, Redis
Monitoring: Prometheus, Grafana, Node Exporter, cAdvisor
DevOps: Docker, GitHub Actions
β
Multi-factor authentication (TOTP)
β
OAuth providers (Google, GitHub, Discord)
β
JWT-based session management
β
Rate limiting and audit logging
β
Live cursor tracking and user presence
β
Collaborative text editing with Socket.IO
β
Real-time document synchronization
β
Typing indicators and user avatars
β
Interactive charts (Line, Bar, Donut)
β
Admin analytics dashboard
β
Performance monitoring with Prometheus
β
System health alerts and metrics
β
Slack/Discord bot management
β
Calendar sync (Google Calendar, Outlook)
β
Webhook configuration (18+ event types)
β
Cloud storage integration
β
6 themes with dark/light modes
β
4 responsive layouts
β
Multi-language support (12 languages)
β
WCAG 2.1 AA accessibility compliance
β
Docker orchestration
β
CI/CD pipeline with GitHub Actions
β
Database backup and restoration
β
GDPR compliance tools
-
Clone and Install Dependencies
git clone https://github.com/PythonTilk/notevault-svelte.git cd notevault-svelte npm install cd server && npm install && cd ..
-
Configure Environment Variables
# Copy environment templates cp .env.example .env.local cp server/.env.example server/.env.local # Edit with your local settings # Key variables: JWT_SECRET, DATABASE_URL, REDIS_URL
-
Start Development Services
# Start Redis and backend services docker-compose -f docker-compose.dev.yml up -d # Start frontend dev server (new terminal) npm run dev # Start backend dev server (new terminal) cd server && npm run dev
- Frontend: http://localhost:5173 (Vite dev server with HMR)
- Backend API: http://localhost:3001 (Express server with nodemon)
- API Documentation: http://localhost:3001/api-docs (Swagger UI)
- Redis: localhost:6379
The collaboration features require WebSocket connections:
- Open multiple browser tabs to test live cursors and presence
- Use different user accounts to see collaborative editing
- Check the browser console for WebSocket connection status
# Frontend
npm run dev # Start Vite dev server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run test # Run Vitest unit tests
npm run test:e2e # Run Playwright E2E tests
# Backend
cd server
npm run dev # Start with nodemon (auto-reload)
npm run start # Start production server
npm run test # Run backend tests
npm run migrate # Run database migrations
# Reset database (development)
rm server/database/notevault.db
cd server && npm run migrate
# View database
sqlite3 server/database/notevault.db
.tables
.schema
# Start with monitoring + logging + backups
docker-compose -f docker-compose.production.yml --profile monitoring --profile logging --profile backup up -d
npm run test:load
npm install @playwright/test
npm run test:e2e
# Basic stack
docker-compose -f docker-compose.production.yml up -d
# With monitoring
docker-compose -f docker-compose.production.yml --profile monitoring up -d
# Stop all services
docker-compose -f docker-compose.production.yml down
- API Response Times: < 100ms (P95 < 500ms)
- Load Testing: Handles 100+ concurrent requests
- Authentication: ~3s (BCrypt security)
- Rate Limiting: 100 requests/15min (configurable)
- File Upload: 10MB limit, multiple formats
Copy configuration template:
cp .env.production .env.production.local
# Edit with your production values
Key environment variables:
JWT_SECRET
- JWT signing keyDATABASE_URL
- PostgreSQL connectionREDIS_URL
- Redis connectionSMTP_*
- Email configurationGRAFANA_PASSWORD
- Grafana admin password
See DEPLOYMENT.md for comprehensive production deployment guide.
# Production deployment with zero downtime
ZERO_DOWNTIME=true ./deploy.sh production
MIT License - Built with β€οΈ using SvelteKit and modern web technologies.