Skip to content

Commit

Permalink
Continue adapting docs from github
Browse files Browse the repository at this point in the history
  • Loading branch information
jcarlosn committed Feb 7, 2024
1 parent df14824 commit 7400710
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 1 deletion.
4 changes: 4 additions & 0 deletions apps/nextra/pages/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"index": "Introduction",
"workspace": "Workspace"
}
3 changes: 2 additions & 1 deletion apps/nextra/pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,5 @@ cd docker
```

## 🔨 Admin Panel
Once you've logged in with and admin account, you will be able to access the admin panel. The admin panel (also called Workspace) is the place where you can create and manage your system entities, like pages, apis, devices, users, objects, etc...
Once you've logged in with and admin account, you will be able to access the admin panel. The admin panel (also called Workspace) is the place where you can create and manage your system entities, like pages, apis, devices, users, objects, etc...
To learn more about the admin panel, click [here](/workspace)
69 changes: 69 additions & 0 deletions apps/nextra/pages/workspace.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# 💼 Workspace
![workspace-sections](https://raw.githubusercontent.com/Protofy-xyz/Protofy/assets/events/events-1.png)
The workspace (or admin panel) is the place where you can create and manage your pages, apis, devices, etc. This panel is a Next.js app that runs on port `3000` by default, but with our Redbird proxy runs in `8080` port.

> Remeber that you need to have a user with `admin` type to be able to access the workspace.
The workspace has two main sections: **Sidebar** and **Section Preview**.

![workspace-sections](https://raw.githubusercontent.com/Protofy-xyz/Protofy/assets/workspace/sections.png)

## 📚 Sidebar
Here you will have all the available sections to manage your project. You can add new pages, apis, devices, etc. If you feel with the sufficient knowledge you can also edit the code of the project to add new features to this sidebar.

On this sidebar you will find the following sections:

- System
- Users: Manage users and user types.
- Groups: Manage groups.
- Objects: Create domain related objects.
- Pages: Create and manage pages.
- Apis: Create and manage apis.
- Events: Visualize events occurred in the system.
- Public: Manage public files.
- Files: Filesystem manager for the project.
- Messages: Visualize messages arrived to the system (mqtt).
- Resources: Create a resource for the project (Tutorial, invoice, etc).
- Databases: Manage you project persistent state management.

- Devices
- Devices: Manage devices (HomeDevice 1, Protofy office iot, etc).
- Definition: Create definitions for a board (Sound sensor, temperature sensor, etc)
- Boards: Create boards that your devices will use (ESP32 DevKit, Arduino UNO, etc)
- Cores: Create cores that your boards will use (Arduino, ESP32, etc)
- Sdks: Create availables sdks for your project devices (ESPHome, Platformio).

This sections are the default ones, but you can add new ones or remove them if you want. See [extending protofy](/docs/extending-protofy.md) for more information.

## 📱 Section Preview
The section preview will show you the content of the section to manage it.

### 🧑‍💻 Users
Users section is the place where you can manage users, see their information, change their password, etc.

### 👥 Groups
Every user is part of a group. The groups are used to manage permissions in the system. For example, you can create a group called `manager` and give it permissions to manage the whole system. Let's see how to create a group.

### 🧩 Objects
The objects section is the way to create domain related objects. For example, if you want to create a `message` object you can do it using the workspace.

### 🔎 APIs
The APIs section allows to create Rest or Rest-like APIs for almost everything you want. You can select a default API type like `Automatic CRUD` and `IOT Router` or create your `own` type by using a custom template.

### 📄 Pages

Pages can be website pages, mobile pages or desktop pages. It allows you to list, create, edit and delete the user facing pages in your system.

![workspace-sections](https://raw.githubusercontent.com/Protofy-xyz/Protofy/assets/pages/create-page.gif)

When creating a page, the following options are required:

- **Name**: The name of the page. This will be used to create the file in the project.
- **Route**: The route of the page on the web or app, like /help or /downloads.
- **Template**: The template that will be used to create the page.
- **Object**: Comming soon.
- **Require user**: If the page requires admin user to be accessed.
- **Permissions**: Comming soon.

The pages are created in the path `packages/app/bundles/custom/pages/pageName.tsx` of the project. This means that you can manually create a page without using the workspace.

0 comments on commit 7400710

Please sign in to comment.