docs/static/v0.5/project/contributing/contributing-ui/index.html
Meshery is written in Go (Golang) and leverages Go Modules. UI is built on React and Next.js. To make building and packaging easier a Makefile is included in the main repository folder.
The following is a list of top-level frameworks, libraries, design system used in Meshery UI.
Go here for the docs.
9081/tcp.9081/tcp.Fill-in a community member form to gain access to community resources. You need to ask for the access to the above Figma File in Slack
Meshery UI is a significant component of the value proposition Meshery offers to individuals and organizations seeking to adopt and operate a service mesh or collection of service meshes.
The designs in this specification should result in enabling:
User experience should be intuitive
Meshery UI should simplify user management of workloads and service meshes
Extensible
The designs in this specification should result in enabling:
To install/update the UI dependencies:
make ui-setup
To build and export the UI code:
make ui-build
Now that the UI code is built, Meshery UI will be available at
http://localhost:9081when Meshery Server is running (Read below).
Changes are not recompiled directly, you will have to run to rebuild the UI to see them
To start running Meshery Server locally:
$ make server
Now, Meshery will run on the default port
http://localhost:9081.
If you want to work on the UI, it will be a good idea to use the included UI development server. You can run the UI development server by running the following command:
make ui
Refer to Contributing to Meshery Server, if needed.
Make sure to have Meshery Server configured, up and running on the default port
http://localhost:9081before proceeding to access and work on the UI server athttp://localhost:3000.
Any UI changes made now will automatically be recompiled and served in the browser.
To run cypress integration tests, a convenience make target called ui-integration-tests that installs dependencies in /ui and /provider-ui folders as prerequisite and invokes ci-test-integration npm script found in /ui/package.json
`
$ make ui-integration-tests
`
Refer to Meshery Cypress Testing for details of how to contribute and benefit from Meshery Cypress (integration & end-to-end) testing.
All of the above steps would get the Meshery’s development server running for you to work on in any IDE of your choice.