Updated documentation + README.md

This commit is contained in:
Prozilla 2023-07-23 13:30:15 +02:00
parent 949f13b00a
commit 4641040949
No known key found for this signature in database
GPG key ID: 5858DFE71CAF31EE
14 changed files with 124 additions and 56 deletions

View file

@ -1,30 +1,39 @@
# ProzillaOS
<img alt="GitHub" src="https://img.shields.io/github/license/prozilla/Prozilla-OS">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/prozilla/prozilla-os">
<img alt="GitHub forks" src="https://img.shields.io/github/forks/prozilla/prozilla-os">
<br/>
# <img src="public/media/logo.svg" width=40 height=40 style="vertical-align: middle; background: none;"/> 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.
<img src="public/media/Banner2.png"/>
> 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

View file

@ -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.
Contains the static build files after [building](#building--deploying) the application. This directory is not included in the GitHub repository.

View file

@ -1,3 +1,5 @@
[← Back](../README.md)
# Configurations
All configs can be found in the [src/config](../../src/config) directory.

View file

@ -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.

View file

@ -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)
### <img src="../../public/media/applications/icons/terminal.svg" width=30 height=30 style="vertical-align: middle; background: none;"/> Terminal
A command line tool.
### <img src="../../public/media/applications/icons/code-editor.svg" width=30 height=30 style="vertical-align: middle; background: none;"/> Code Editor
Coming soon.
### <img src="../../public/media/applications/icons/file-explorer.svg" width=30 height=30 style="vertical-align: middle; background: none;"/> File Explorer
Coming soon.
### <img src="../../public/media/applications/icons/media-viewer.svg" width=30 height=30 style="vertical-align: middle; background: none;"/> 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.

View file

@ -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
- [<img src="../../../public/media/applications/icons/terminal.svg" width=20 height=20 style="vertical-align: middle; background: none;"/> Terminal](./terminal/README.md)

View file

@ -0,0 +1,24 @@
[← Back](../README.md)
# <img src="../../../../public/media/applications/icons/terminal.svg" width=30 height=30 style="vertical-align: middle; background: none;"/> 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
}),
```

View file

@ -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)

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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).

17
docs/roadmap/README.md Normal file
View file

@ -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.