{"id":30076566,"url":"https://github.com/denis0001-dev/webdesktop","last_synced_at":"2025-08-08T15:57:45.548Z","repository":{"id":307984129,"uuid":"1031266983","full_name":"denis0001-dev/WebDesktop","owner":"denis0001-dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-03T12:38:31.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-03T13:16:06.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denis0001-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-03T11:33:29.000Z","updated_at":"2025-08-03T12:38:35.000Z","dependencies_parsed_at":"2025-08-03T13:33:26.058Z","dependency_job_id":null,"html_url":"https://github.com/denis0001-dev/WebDesktop","commit_stats":null,"previous_names":["denis0001-dev/webdesktop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/denis0001-dev/WebDesktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denis0001-dev%2FWebDesktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denis0001-dev%2FWebDesktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denis0001-dev%2FWebDesktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denis0001-dev%2FWebDesktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denis0001-dev","download_url":"https://codeload.github.com/denis0001-dev/WebDesktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denis0001-dev%2FWebDesktop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269447935,"owners_count":24418756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-08T15:57:44.505Z","updated_at":"2025-08-08T15:57:45.516Z","avatar_url":"https://github.com/denis0001-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebDesktop\n\nA modern desktop environment built with React, TypeScript, and Node.js. Features a floating taskbar with blur effects, draggable terminal windows, and real-time backend communication.\n\n## Features\n\n- 🖥️ **Modern Desktop UI** with glass morphism effects\n- 📱 **Floating Taskbar** with blur backdrop and square icon buttons\n- 🖼️ **Draggable Terminal Windows** with modern styling\n- 🔌 **Real-time Backend** with WebSocket communication\n- 🎯 **TTY-like Terminal** with command execution\n- 📊 **Server Status Indicator** showing connection state\n- 🎨 **Responsive Design** that works on mobile devices\n\n## Quick Start\n\n### Prerequisites\n- Node.js 18+ \n- npm or yarn\n\n### Installation\n\n1. **Clone and install dependencies:**\n```bash\ngit clone \u003crepository-url\u003e\ncd WebDesktop\nnpm install\n```\n\n2. **Run the full application (frontend + backend):**\n```bash\nnpm run dev:full\n```\n\nThis will start both the backend server (port 3001) and frontend development server (port 5173).\n\n### Alternative: Run Separately\n\n**Backend only:**\n```bash\nnpm run server\n```\n\n**Frontend only:**\n```bash\nnpm run dev\n```\n\n## Available Scripts\n\n- `npm run dev` - Start frontend development server\n- `npm run server` - Start backend server\n- `npm run dev:full` - Start both frontend and backend\n- `npm run build` - Build for production\n- `npm run preview` - Preview production build\n- `npm run lint` - Run ESLint\n\n## Architecture\n\n### Frontend (React + TypeScript)\n- **App.tsx** - Main desktop environment component\n- **App.css** - Modern styling with glass morphism effects\n- **WebSocket Integration** - Real-time communication with backend\n\n### Backend (Node.js + Express)\n- **server/index.ts** - Express server with WebSocket support\n- **API Endpoints** - RESTful API for system information\n- **WebSocket Server** - Real-time terminal command execution\n\n## Terminal Commands\n\nThe terminal supports the following commands:\n\n- `help` - Show available commands\n- `clear` - Clear terminal output\n- `date` - Show current date and time\n- `echo [text]` - Echo the given text\n- `ls` - List files (simulated)\n- `pwd` - Show current directory\n- `system` - Show system information\n- `network` - Show network status\n\n## API Endpoints\n\n- `GET /api/status` - Server status and uptime\n- `GET /api/system` - System information\n- `POST /api/terminal/execute` - Execute terminal commands\n- `WebSocket /` - Real-time communication\n\n## Development\n\n### Project Structure\n```\nWebDesktop/\n├── src/                 # Frontend source\n│   ├── App.tsx         # Main desktop component\n│   ├── App.css         # Styling\n│   └── main.tsx        # Entry point\n├── server/             # Backend source\n│   ├── index.ts        # Express server\n│   └── tsconfig.json   # TypeScript config\n├── package.json        # Dependencies and scripts\n└── vite.config.ts      # Vite configuration\n```\n\n### Key Features\n\n#### Taskbar\n- Floating design with blur effects\n- Square icon buttons with tooltips\n- Server status indicator\n- Start menu and terminal buttons\n\n#### Terminal Window\n- Draggable with modern styling\n- Real-time command execution\n- WebSocket communication with backend\n- Fallback to local execution if server is offline\n\n#### Backend Integration\n- WebSocket for real-time communication\n- RESTful API endpoints\n- Command execution server-side\n- System information and status\n\n## Technologies Used\n\n- **Frontend**: React 19, TypeScript, Vite\n- **Backend**: Node.js, Express, WebSocket\n- **Styling**: CSS3 with glass morphism effects\n- **Build Tools**: Vite, TypeScript, ESLint\n\n## License\n\nMIT License - feel free to use this project for your own desktop environment!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenis0001-dev%2Fwebdesktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenis0001-dev%2Fwebdesktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenis0001-dev%2Fwebdesktop/lists"}