Skip to content

Latest commit

Β 

History

History
103 lines (74 loc) Β· 3.51 KB

File metadata and controls

103 lines (74 loc) Β· 3.51 KB

πŸ“ BerryOS – A Web-Based Desktop Operating System

BerryOS Overview

BerryOS brings the look and feel of a real operating system to the browser! Built with βš›οΈ React on the frontend and 🐍 Python on the backend, it offers a fully immersive desktop experience β€” now with 🌦️ Weather Widgets and πŸ€– AI Assistant support!


πŸš€ Features

  • πŸͺŸ Desktop Environment – Drag, resize, minimize, and manage multiple application windows
  • πŸ“ File Explorer – Create, rename, delete, copy, and move files and folders
  • πŸ§‘β€πŸ’» Linux-style Terminal – Run basic shell commands like ls, cd, echo, date, and clear
  • 🌐 Integrated Browser – Real web browsing with Python-based proxy, iframe, and screenshot modes
  • πŸ“ Notepad App – A simple writing space for your ideas and notes
  • βš™οΈ Settings – Customize the desktop environment and app behavior
  • 🌦️ Weather App – Get your local weather with real-time data from weather APIs
  • πŸ€– AI Assistant – Your virtual desktop assistant powered by AI for help, reminders, and quick actions
  • πŸ–±οΈ Context Menus – Right-click support on desktop and files
  • πŸ”„ Multi-window System – Switch between apps like a real OS

πŸ“Έ Screenshots

🌐 Desktop Interface

BerryOS Desktop


πŸ§‘β€πŸ’» Getting Started

πŸ”Ή Frontend (React)

  1. πŸ“¦ Install dependencies:
    npm install
  2. πŸš€ Start the development server:
    npm run dev
  3. πŸ”— Open the app in your browser: http://localhost:5173

πŸ”Έ Backend (Python Proxy for Browser)

Used to enable full-featured website browsing via a proxy server.

  1. πŸ“‚ Go to the backend folder:

    cd backend
  2. πŸ“₯ Install Python dependencies:

    pip install -r requirements.txt
  3. ▢️ Start the Python server:

    python app/main.py

    βœ… On Windows, just double-click start_backend.bat to run.

  4. πŸ”— Backend will be running at: http://localhost:5000

🌍 Browser Modes

  • πŸŒ€ Proxy Mode – Enables full website browsing using the Python proxy
  • 🧊 Iframe Mode – Directly embed websites (subject to CORS policies)
  • πŸ“· Preview Mode – Displays screenshot thumbnails of websites

Switch between modes using toggle buttons in the browser.

🧭 Usage

  • πŸ–±οΈ Double-click icons to open apps
  • βž• Open multiple apps and drag windows around
  • πŸ“ Use File Explorer to manage files with right-click options
  • ⬛ Terminal Commands: ls, cd, help, echo, date, clear
  • πŸ€– AI Assistant: Ask questions, set reminders, and get help on the OS!
  • 🌦️ Weather App: Auto-detects location and shows current conditions

🧩 Architecture

Component Stack
πŸ’» Frontend React + Vite + Hooks
🐍 Backend Python (Flask Proxy Server)
🎨 UI Styling CSS + Inline Styles
🧠 AI Support OpenAI / LLM (Configurable)
🌦️ Weather Weather API (OpenWeatherMap)

πŸ” Security Notice

The Python backend proxy is for development and educational use only. It bypasses standard web security mechanisms (CORS, cookies, sessions) and should not be used for secure or sensitive browsing.

🀝 Contributing

We welcome all contributions! πŸ§‘β€πŸ’» Whether it's a new app, feature, or bug fixβ€”submit a pull request and join the BerryOS builders.

πŸ“„ License

MIT License Β© 2025

Feel free to fork, modify, and build your own web OS!