Skip to content

🎯 NoteVault - Modern collaborative workspace platform built with SvelteKit. Features canvas notes, drag & drop, real-time chat, file management, and admin dashboard with Rugplay-inspired design.

Notifications You must be signed in to change notification settings

PythonTilk/notevault-svelte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NoteVault - Enterprise Collaborative Workspace

Production-ready collaborative workspace platform with 24 enterprise features, built with SvelteKit and modern web technologies.

✨ Key Features

  • πŸ” 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

πŸš€ Quick Start

Option 1: One-Line Start (Recommended)

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

Option 2: Manual Setup

Prerequisites

  • Node.js 18+ and npm
  • Docker and Docker Compose
  • Git

1. Clone and Install

git clone https://github.com/PythonTilk/notevault-svelte.git
cd notevault-svelte
npm install

2. Start Backend Services

# Start Redis and backend services
docker-compose -f docker-compose.dev.yml up -d

3. Start Frontend Development Server

# In a new terminal
npm run dev

4. Access the Application

Option 3: Full Docker Setup

# 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

πŸ“Š Monitoring Stack

The application includes a complete monitoring solution:

Grafana Dashboards

  • NoteVault Overview: HTTP requests, response times, CPU/memory usage, uptime
  • Default Login: admin / admin123

πŸ› οΈ Tech Stack

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

πŸ“‹ All Features Complete (24/24)

πŸ” Security & Authentication

βœ… Multi-factor authentication (TOTP)
βœ… OAuth providers (Google, GitHub, Discord)
βœ… JWT-based session management
βœ… Rate limiting and audit logging

🀝 Real-time Collaboration

βœ… Live cursor tracking and user presence
βœ… Collaborative text editing with Socket.IO
βœ… Real-time document synchronization
βœ… Typing indicators and user avatars

πŸ“Š Analytics & Monitoring

βœ… Interactive charts (Line, Bar, Donut)
βœ… Admin analytics dashboard
βœ… Performance monitoring with Prometheus
βœ… System health alerts and metrics

πŸ”Œ Integrations & Automation

βœ… Slack/Discord bot management
βœ… Calendar sync (Google Calendar, Outlook)
βœ… Webhook configuration (18+ event types)
βœ… Cloud storage integration

🎨 UI/UX & Accessibility

βœ… 6 themes with dark/light modes
βœ… 4 responsive layouts
βœ… Multi-language support (12 languages)
βœ… WCAG 2.1 AA accessibility compliance

πŸš€ DevOps & Infrastructure

βœ… Docker orchestration
βœ… CI/CD pipeline with GitHub Actions
βœ… Database backup and restoration
βœ… GDPR compliance tools

πŸ’» Local Development

Environment Setup

  1. Clone and Install Dependencies

    git clone https://github.com/PythonTilk/notevault-svelte.git
    cd notevault-svelte
    npm install
    cd server && npm install && cd ..
  2. 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
  3. 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

Development URLs

Real-time Features Testing

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

Available Scripts

# 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

Database Management

# Reset database (development)
rm server/database/notevault.db
cd server && npm run migrate

# View database
sqlite3 server/database/notevault.db
.tables
.schema

βš™οΈ Advanced Usage

Full Production with All Services

# Start with monitoring + logging + backups
docker-compose -f docker-compose.production.yml --profile monitoring --profile logging --profile backup up -d

Load Testing

npm run test:load

End-to-End Testing

npm install @playwright/test
npm run test:e2e

Manual Docker Commands

# 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

πŸ“Š Performance Benchmarks

  • 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

πŸ”§ Configuration

Copy configuration template:

cp .env.production .env.production.local
# Edit with your production values

Key environment variables:

  • JWT_SECRET - JWT signing key
  • DATABASE_URL - PostgreSQL connection
  • REDIS_URL - Redis connection
  • SMTP_* - Email configuration
  • GRAFANA_PASSWORD - Grafana admin password

πŸš€ Production Deployment

See DEPLOYMENT.md for comprehensive production deployment guide.

# Production deployment with zero downtime
ZERO_DOWNTIME=true ./deploy.sh production

πŸ“„ License

MIT License - Built with ❀️ using SvelteKit and modern web technologies.

About

🎯 NoteVault - Modern collaborative workspace platform built with SvelteKit. Features canvas notes, drag & drop, real-time chat, file management, and admin dashboard with Rugplay-inspired design.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •