From 4641040949b50722512224a737422ea9118f2f75 Mon Sep 17 00:00:00 2001 From: Prozilla Date: Sun, 23 Jul 2023 13:30:15 +0200 Subject: [PATCH] Updated documentation + README.md --- README.md | 25 ++++++---- docs/README.md | 13 ++--- docs/configurations/README.md | 2 + docs/contributing/README.md | 4 +- docs/features/README.md | 47 +++---------------- docs/features/applications/README.md | 9 ++++ docs/features/applications/terminal/README.md | 24 ++++++++++ docs/features/virtual-drive/README.md | 10 ++++ .../virtual-drive/virtual-file/README.md | 5 ++ .../virtual-drive/virtual-folder/README.md | 9 ++++ docs/features/windows/README.md | 13 +++++ docs/react/README.md | 2 + docs/roadmap/README.md | 17 +++++++ .../applications/terminal/commands.js | 0 14 files changed, 124 insertions(+), 56 deletions(-) create mode 100644 docs/features/applications/README.md create mode 100644 docs/features/applications/terminal/README.md create mode 100644 docs/features/virtual-drive/README.md create mode 100644 docs/features/virtual-drive/virtual-file/README.md create mode 100644 docs/features/virtual-drive/virtual-folder/README.md create mode 100644 docs/features/windows/README.md create mode 100644 docs/roadmap/README.md rename src/{components => features}/applications/terminal/commands.js (100%) diff --git a/README.md b/README.md index 84ee96f..5ef1ff1 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,39 @@ -# ProzillaOS +GitHub +GitHub Repo stars +GitHub forks + + +
+ +# ProzillaOS ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows made with React by Prozilla. -> Please note that ProzillaOS is a WIP and far from complete and many additional features will be added in the future. + + +> Please note that ProzillaOS is a WIP and far from complete. Many additional features will be added in the near future. ## Features ProzillaOS will eventually have all the following features: -### Desktop +### Customizable Desktop A desktop with a cool wallpaper is something every OS with a UI should have. The desktop will be a place where you can place shortcuts for your folders, files and apps. -### Fully functional taskbar +### Fully Functional Taskbar The taskbar will include a search feature, pinned applications, the current date and time and other common taskbar functionality. -### Applications +### Modular Applications ProzillaOS will have a modular windows system that makes building applications a breeze. Each application will open a resizable window when opened, with common buttons like minimize, toggle fullscreen and exit. Every app will have its own functionality. Some examples of applications are File Explorer, Media Viewer, Terminal, Code Editor, Browser. -### Folders and files +### Virtual Folders and files File Explorer will let you explore, add and delete your folders and files. All of ProzillaOS' storage will be stored in local browser storage as JSON. -### Adjustable settings +### Adjustable Settings The settings app will have options like changing the wallpaper, etc. @@ -34,7 +43,7 @@ Yes, you read that right. ProzillaOS will have playable games. Initially, the on ## Documentation -See [docs](docs) for more information. +See [docs](docs/README.md) for more information. ## Design diff --git a/docs/README.md b/docs/README.md index 3ac1c36..c7443be 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,11 +1,12 @@ # Documentation -## Table of contents +## Table of Contents -- [Features](features) -- [Configurations](configurations) -- [Contributing](contributing) -- [React](react) +- [Features](features/README.md) +- [Roadmap](roadmap/README.md) +- [Configurations](configurations/README.md) +- [Contributing](contributing/README.md) +- [React](react/README.md) ## Overview @@ -47,4 +48,4 @@ - [build](../build) directory - Contains the static build files after [building](#building--deploying) the application. \ No newline at end of file + Contains the static build files after [building](#building--deploying) the application. This directory is not included in the GitHub repository. \ No newline at end of file diff --git a/docs/configurations/README.md b/docs/configurations/README.md index f4925c7..c4d5125 100644 --- a/docs/configurations/README.md +++ b/docs/configurations/README.md @@ -1,3 +1,5 @@ +[← Back](../README.md) + # Configurations All configs can be found in the [src/config](../../src/config) directory. diff --git a/docs/contributing/README.md b/docs/contributing/README.md index a3a1c4a..4926189 100644 --- a/docs/contributing/README.md +++ b/docs/contributing/README.md @@ -1,4 +1,6 @@ +[← Back](../README.md) + # Contributing -You can contribute by reporting bugs, suggesting new features, etc. by [creating a new issue](/../../issues). +You can contribute by reporting bugs, suggesting new features, etc. by [creating a new issue](/../../issues) or by [donating](https://ko-fi.com/prozilla) to support my work. diff --git a/docs/features/README.md b/docs/features/README.md index 3f20d80..efa0e3e 100644 --- a/docs/features/README.md +++ b/docs/features/README.md @@ -1,47 +1,12 @@ +[← Back](../README.md) + # Features Most code for features can be found in the [src/features](../../src/features) directory. This directory is a library that is mostly used by files in the [src/components](../../src/components) and [src/hooks](../../src/hooks) directory. -## Applications +## Table of Contents -There are several applications. +- [Applications](./applications/README.md) +- [Virtual Drive](./virtual-drive//README.md) +- [Windows](./windows/README.md) -### Terminal - -A command line tool. - -### Code Editor - -Coming soon. - -### File Explorer - -Coming soon. - -### Media Viewer - -Coming soon. - -## Desktop - -Coming soon. - -## Math - -The math folder contains util classes related to maths. - -## Storage - -Coming soon. - -## Taskbar - -Shows pinned applications, a search button, multiple control buttons and the time and date. - -## Virtual Drive - -The virtual drive is a drive that stores virtual files and folders. - -## Windows - -Each application opens in a window that can be dragged around and maximized/minimized. diff --git a/docs/features/applications/README.md b/docs/features/applications/README.md new file mode 100644 index 0000000..4900f7a --- /dev/null +++ b/docs/features/applications/README.md @@ -0,0 +1,9 @@ +[← Back](../README.md) + +# Applications + +Applications (sometimes shortened to apps) are processes that open a window when ran. The window allows the user to view and interact with the app. Apps have a `title`, `id` and a `windowContent` property that refers to the React component of the application interface. + +## Table of Contents + +- [ Terminal](./terminal/README.md) \ No newline at end of file diff --git a/docs/features/applications/terminal/README.md b/docs/features/applications/terminal/README.md new file mode 100644 index 0000000..f9d590e --- /dev/null +++ b/docs/features/applications/terminal/README.md @@ -0,0 +1,24 @@ +[← Back](../README.md) + +# Terminal + +A command line tool. + +## Commands + +See [src/features/applications/terminal/commands.js](../../../../src/features/applications/terminal/commands.js) for a list of commands. You can edit this file to add/remove/edit commands. + +### Examples + +```js +new Command("cd", (args, { currentDirectory, setCurrentDirectory }) => { + const path = args[0] ?? "~"; // Default to home directory + const destination = currentDirectory.navigate(path); + + if (!destination) + return `cd: ${args[0]}: No such file or directory`; + + setCurrentDirectory(destination); + return { blank: true }; // Returns without printing anything to the terminal +}), +``` \ No newline at end of file diff --git a/docs/features/virtual-drive/README.md b/docs/features/virtual-drive/README.md new file mode 100644 index 0000000..3f1a65e --- /dev/null +++ b/docs/features/virtual-drive/README.md @@ -0,0 +1,10 @@ +[← Back](../README.md) + +# Virtual Drive + +The virtual drive is a virtual file and directory system. + +## Table of Contents + +- [Virtual File](./virtual-file/README.md) +- [Virtual Folder](./virtual-folder/README.md) diff --git a/docs/features/virtual-drive/virtual-file/README.md b/docs/features/virtual-drive/virtual-file/README.md new file mode 100644 index 0000000..8429c5d --- /dev/null +++ b/docs/features/virtual-drive/virtual-file/README.md @@ -0,0 +1,5 @@ +[← Back](../README.md) + +# Virtual File + +Virtual files can have content or a source URL. Content is mostly used for text files, while the source property is mostly used for images. \ No newline at end of file diff --git a/docs/features/virtual-drive/virtual-folder/README.md b/docs/features/virtual-drive/virtual-folder/README.md new file mode 100644 index 0000000..5780a8c --- /dev/null +++ b/docs/features/virtual-drive/virtual-folder/README.md @@ -0,0 +1,9 @@ +[← Back](../README.md) + +# Virtual Folder + +Virtual folders can contain files and sub-folders. + +## Virtual Root + +The virtual root is a virtual folder that contains all other folders and files. It serves as the root directory for the virtual drive and is used as an access point in applications. \ No newline at end of file diff --git a/docs/features/windows/README.md b/docs/features/windows/README.md new file mode 100644 index 0000000..44cc6c1 --- /dev/null +++ b/docs/features/windows/README.md @@ -0,0 +1,13 @@ +[← Back](../README.md) + +# Windows + +The windows components are used to view and interact with running applications. Each application opens a window when ran. + +## Features + +- [x] Maximize (fullscreen) +- [ ] Minimize +- [x] Resize +- [x] Multiple windows of the same app +- [ ] Draw order \ No newline at end of file diff --git a/docs/react/README.md b/docs/react/README.md index 58beeac..ecad080 100644 --- a/docs/react/README.md +++ b/docs/react/README.md @@ -1,3 +1,5 @@ +[← Back](../README.md) + # Getting Started with Create React App This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). diff --git a/docs/roadmap/README.md b/docs/roadmap/README.md new file mode 100644 index 0000000..baa052e --- /dev/null +++ b/docs/roadmap/README.md @@ -0,0 +1,17 @@ +[← Back](../README.md) + +# Roadmap + +This is a list of planned features. + +## Taskbar + +The taskbar is a collection of utilities and pinned applications displayed on top of the desktop. Its utilities include a search field, (battery percentage), (internet connection status), volume control, date and time and a button for viewing the desktop. + +## Desktop + +A customizable desktop with a wallpaper and shortcuts to applications, files or folders. + +## Storage + +A library for saving and loading persistent data using local storage. diff --git a/src/components/applications/terminal/commands.js b/src/features/applications/terminal/commands.js similarity index 100% rename from src/components/applications/terminal/commands.js rename to src/features/applications/terminal/commands.js