Enterprise Browser-Based Operating System
Weave OS represents a paradigm shift in computing, delivering a complete desktop operating system experience through modern web browsers. Built with enterprise-grade architecture and inspired by Ubuntu/GNOME design principles, it provides organizations and developers with a powerful, scalable platform for cloud-native computing environments.
- ๐ JWT-Based Authentication - Enterprise-grade token-based security
- ๐ค Multi-User Management - Role-based access control and user permissions
- ๐ก๏ธ Session Management - Secure session handling with automatic timeout
- ๐ Password Security - Bcrypt encryption with configurable complexity requirements
- โ๏ธ Cloud-Native Architecture - Designed for scalable cloud deployment
- ๐ MongoDB GridFS Integration - Enterprise file storage with unlimited scalability
- ๐ Optimized Performance - Lazy loading, code splitting, and efficient resource management
- ๐ฑ Cross-Platform Compatibility - Runs on any modern browser across all devices
- ๐๏ธ Virtual File System - Complete file system abstraction with POSIX-like operations
- ๐ Advanced File Management - Full CRUD operations, batch processing, and metadata handling
- ๐ Enterprise Search - Full-text search across files and folders with advanced filtering
- ๐พ Storage Analytics - Real-time storage usage monitoring and quota management
React 18.x โ Component-based UI framework
TypeScript 5.x โ Type-safe development environment
Tailwind CSS 3.x โ Utility-first styling framework
Zustand โ Lightweight state management
Vite โ Next-generation build tooling
Node.js + Express โ RESTful API server
MongoDB Atlas โ Cloud-native database
GridFS โ Large file storage system
JWT Authentication โ Stateless security tokens
Bcrypt โ Password hashing and salt
ESLint + Prettier โ Code quality and formatting
Husky โ Git hooks for quality gates
TypeScript โ Compile-time error detection
Hot Module Reload โ Instant development feedback
- Node.js: Version 18.0 or higher
- MongoDB: Atlas cluster or local instance
- Browser: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- Memory: Minimum 8GB RAM recommended
- Storage: 2GB available space for development
- Server: Linux/Windows/macOS with Docker support
- Database: MongoDB Atlas (recommended) or self-hosted MongoDB 5.0+
- CDN: CloudFlare or AWS CloudFront for static assets
- SSL: Valid SSL certificate for HTTPS deployment
# Verify Node.js installation
node --version # Should be 18.0+
npm --version # Should be 8.0+
# Install Git (if not already installed)
git --version # Should be 2.0+# 1. Clone the repository
git clone https://github.com/snb2005/WeaveOS.git
cd WeaveOS
# 2. Install frontend dependencies
npm install
# 3. Setup backend environment
cd server
npm install
cp .env.example .env
# 4. Configure environment variables (see Configuration section)
nano .env # or use your preferred editorCreate a .env file in the server directory with the following variables:
# Database Configuration
MONGODB_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/weave-os
DB_NAME=weave-os
# Authentication
JWT_SECRET=your-super-secure-jwt-secret-key-here
JWT_EXPIRES_IN=7d
BCRYPT_ROUNDS=12
# Server Configuration
PORT=3001
NODE_ENV=development
CORS_ORIGIN=http://localhost:5173
# Session Configuration
SESSION_SECRET=your-session-secret-key-here
SESSION_COOKIE_MAX_AGE=86400000
# File Upload Limits
MAX_FILE_SIZE=100MB
MAX_FILES_PER_USER=10000-
Create MongoDB Atlas Cluster:
- Visit MongoDB Atlas
- Create a new cluster
- Configure network access (whitelist your IP)
- Create database user with read/write permissions
-
Initialize Database:
cd server npm run db:init # Creates initial collections and indexes
# Terminal 1: Start backend server
cd server
npm run dev
# Terminal 2: Start frontend development server
cd ..
npm run dev
# Access the application
open http://localhost:5173- ๐ฅ๏ธ Complete Desktop Experience - Window management, taskbar, system tray
- ๐ช Advanced Window System - Drag, resize, minimize, maximize, snap-to-grid
- ๐จ Professional Theming - Dark/light mode with enterprise color schemes
- โจ๏ธ Keyboard Navigation - Full keyboard shortcuts and accessibility support
- ๐ File Manager - Multi-tab browsing, bulk operations, advanced search
- ๐ป Terminal Emulator - Full bash-compatible terminal with command history
- ๐ Code Editor - Syntax highlighting, auto-completion, Git integration
- ๐งฎ Calculator - Scientific calculator with memory functions
- โ๏ธ System Settings - User preferences, system configuration, theme management
- ๐ Real-Time Updates - Live file sync, instant notifications, collaborative editing
- ๐ฑ Responsive Design - Optimized for desktop, tablet, and mobile devices
- ๐ Offline Capability - Service worker caching for offline functionality
- ๐ Global Search - System-wide search across files, applications, and settings
- Initial Load Time: < 3 seconds on broadband connection
- Memory Usage: 150-300MB typical browser memory footprint
- File Operations: < 100ms for typical file system operations
- Concurrent Users: Supports 1000+ concurrent users per server instance
- Horizontal Scaling: Load balancer compatible with multiple server instances
- Database Optimization: Indexed queries with sub-second response times
- CDN Integration: Static asset delivery through global CDN network
- Caching Strategy: Redis-compatible session and file caching
# Run linting and formatting
npm run lint # ESLint checks
npm run format # Prettier formatting
npm run type-check # TypeScript compilation
# Testing
npm run test # Unit tests
npm run test:e2e # End-to-end tests
npm run test:coverage # Coverage reportssrc/
โโโ apps/ # Application components
โ โโโ CodeEditor/ # Code editor application
โ โโโ Terminal/ # Terminal emulator
โ โโโ FileManager/ # File management system
โ โโโ Settings/ # System configuration
โโโ components/ # Reusable UI components
โ โโโ Desktop/ # Desktop environment
โ โโโ Window/ # Window management
โ โโโ UI/ # Common UI elements
โโโ services/ # Business logic and API clients
โ โโโ api/ # REST API integrations
โ โโโ auth/ # Authentication services
โ โโโ vfs/ # Virtual file system
โโโ stores/ # State management
โ โโโ authStore.ts # Authentication state
โ โโโ fileStore.ts # File system state
โ โโโ windowStore.ts # Window management state
โโโ utils/ # Helper functions and utilities
- Fork & Clone: Fork the repository and clone locally
- Branch: Create feature branch (
git checkout -b feature/amazing-feature) - Develop: Write code following established patterns
- Test: Ensure all tests pass and coverage meets requirements
- Commit: Use conventional commits (
feat:,fix:,docs:, etc.) - Pull Request: Submit PR with detailed description and test results
# Deploy to Vercel
npm run build
vercel --prod
# Deploy to Netlify
npm run build
netlify deploy --prod --dir=dist
# Deploy to AWS S3 + CloudFront
npm run build
aws s3 sync dist/ s3://your-bucket-nameNote: The application includes proper polyfills for Node.js modules and should deploy successfully on all major hosting platforms. The netlify.toml file is included for Netlify deployments with proper SPA routing configuration.
# Dockerfile example
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]# Build for production
npm run build
# Setup reverse proxy (nginx example)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}- ๐ Wiki: GitHub Wiki
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ง Contact: support@weave-os.dev
- React Team - Component framework and development tools
- MongoDB - Database platform and GridFS storage system
- Tailwind Labs - CSS framework and design system
- Vercel - Build tools and deployment platform
- Open Source Community - Countless contributors to supporting libraries