Skip to content
Snippets Groups Projects
Commit ee3682fc authored by Matthias Feyll's avatar Matthias Feyll :cookie:
Browse files

(ui): add documentation

parent 67825c40
No related branches found
No related tags found
1 merge request!1206UI-Integration: add first version to master
......@@ -394,3 +394,10 @@ There exists a `example_tests` folder where examples of using the `integrationTe
Run the integration tests with `make controller-integration-tests`.
If you want to debug the tests, use `make controller-integration-tests-debug-up` to start the environment. You can now use the debugger to debug the test (but not the goSDN side). Stop the environment when you are done with `make controller-integration-tests-debug-down`.
## Web UI
Despite the goSDN console the web ui provides a more convenient way to gather information. The web UI is also integrated in the containerlab so that it also accessible after executing `make containerlab-start`. The web ui is accessible at [localhost:8088](http://localhost:8088)
<img src="documentation/figures/react-ui/landing_page.png" />
Currently the UI provides a easy way to ready properties of switches. You can also create new switches which is the equivalent command to `mne create` in the console. You find a more detailed docu [here](react-ui/README.md)
documentation/figures/react-ui/landing_page.png

131 KiB

# React - UI
This is the UI for the goSDN project. It's a webapp written in react
The web app is a more convenient way to gather information about the goSDN network.
### Getting started
<img src="../documentation/figures/react-ui/landing_page.png" />
Login with your username and password. The default credentials can be found inside the logs of the goSDN docker container: `docker logs clab-gosdn_csbi_arista_base-gosdn`
### Requirements
- Docker
## Current Functionality
### Functional
* Read information about existing and new created switches
* Create new switches
### Technical
* Continuously fetching the current state from the backend
* Frontend persistence of configuration
### Essential
* Login / Logout
* Custom right click menu that provides functionalities depending on the clicked area
### Author
Matthias Feyll
\ No newline at end of file
## Technical Description
### Tech Stack
* React 18
* Bootstrap 5
* Redux 5
* RTK-Query 2
### Deployment
The web ui is integrated in the containerlab deployment. This uses the [Dockerfile](docker/webserver/Dockerfile) from `docker/webserver/Dockerfile`. It contains a two stage build. The first stage builds the deliverable HTML, CSS and Javascript. The second stage creates the actual webserver that provides the created web assets. The webserver is a nginx with default production ready configurations.
### Development
During development you start the existing containerlab environment by executing
```
make containerlab-slim-start-configured
```
After that execute with yarn or npm
```
yarn
yarn build::api # generates api code provided by the swagger json file from goSDN
yarn dev
```
Your local dev environment is now accessible at [localhost:3000](http://localhost:3000). The dev server is running inside a docker container. The container is attached to the network that contains the rest goSDN containers.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment