How rajagopalan-gangadharan/js-os works
JS-OS is a browser-based desktop environment: users interact with a desktop and taskbar, launch apps in windows, and use built-in tools for files, editing, calendar, media, games, and blogging. The main runtime path is app registration and dispatch through the window manager; the filesystem supplies shared disk state to file-oriented apps, while the blog app communicates with a remote API. The README also presents the environment as an interactive portfolio. Only selected runtime files were sampled, so links to unsampled subsystems are limited to documented capabilities and clear tree structure.
Main entry points: handlers.js App Dispatcher · main.js Virtual Filesystem · desktop.js Desktop · applauncher.js App Launcher
Components 22
Desktop Shell
- Desktop
src/desktop/desktop.js - Taskbar
src/desktop/taskbar/taskbar.js - App Launcher
src/applauncher/applauncher.js
App Runtime
- App Dispatcher
src/handlers.js - Window Manager
src/window/window.js - Process Manager
src/defaultapps/processmanager/processmanager.js
Built-in Apps
- File Explorer
src/defaultapps/explorer/explorer.js - Terminal
src/defaultapps/terminal/terminal.js - Text Editor
src/defaultapps/texteditor/editor.js - Code Studio
src/defaultapps/codestudio/codestudio.js - Calendar
src/defaultapps/calendar/calendar.js - Markdown Tools
src/defaultapps/markdown/markdown_reader.js - PDF Reader
src/defaultapps/pdf/pdf.js - Image Viewer
src/defaultapps/imageviewer/imageviewer.js - Sticky Notes
src/defaultapps/stickynotes/stickynotes.js - Games
src/defaultapps/games/minesweeper/minesweeper.js - Blog Feed
src/defaultapps/blogfeed/components/BlogHome.js - Blog API Service
src/defaultapps/blogfeed/services/blog.service.js
Shared State
- Virtual Filesystem
src/filesystem/main.js - File Model
src/filesystem/fileClass.js
Other components
- User
- Blog Backend
Connections 24
- User → Desktop: interacts with
- User → App Launcher: launches apps
- Desktop → Taskbar: shows
- App Launcher → App Dispatcher: requests launch
- App Dispatcher → Window Manager: renders app
- App Dispatcher → File Explorer: registers
- App Dispatcher → Terminal: registers
- App Dispatcher → Text Editor: registers
- App Dispatcher → Code Studio: registers
- App Dispatcher → Calendar: registers
- App Dispatcher → Markdown Tools: registers
- App Dispatcher → PDF Reader: registers
- App Dispatcher → Image Viewer: registers
- App Dispatcher → Sticky Notes: registers
- App Dispatcher → Games: registers
- App Dispatcher → Blog Feed: registers
- App Dispatcher → Process Manager: registers
- Process Manager → App Dispatcher: closes process
- Virtual Filesystem → File Model: creates disk objects
- App Dispatcher → Virtual Filesystem: provides disk
- File Explorer → Virtual Filesystem: uses disk
- Terminal → Virtual Filesystem: receives disk
- Blog Feed → Blog API Service: uses service
- Blog API Service → Blog Backend: HTTP requests