Giter VIP home page Giter VIP logo

edgex-ui-go's Introduction

edgex-ui-go

Build Status Code Coverage Go Report Card GitHub Latest Dev Tag) GitHub Latest Stable Tag) GitHub License GitHub go.mod Go version GitHub Pull Requests GitHub Contributors GitHub Committers GitHub Commit Activity

Use and Purpose

The EdgeX UI is for demonstration and developer use to manage and monitor a single instance of EdgeX Foundry (insecure or secure). Specifically, it can:

  • Manage (add, remove, update) the EdgeX objects (device, device services, profiles, rules, app services, etc.)
  • Monitor the EdgeX data flow (events and readings) and services
  • Monitor and manage from on-box with EdgeX (on the same host)

As is, the EdgeX UI is not meant for production use! Developers can use the UI as a base from which to create additional user interfaces. The EdgeX community is also exploring production level use cases and extending/expanding the UI for future releases that would include more production level needs such as the ability to use the UI from on or off box.

Go implementation of EdgeX Web UI.

Install and Deploy

  • Make sure you're using at least Go 1.12 (UI backend server currently uses Go 1.18.x)
  • If your code is in your GOPATH then make sure GO111MODULE=on is set
git clone http://github.com/edgexfoundry/edgex-ui-go.git
cd edgex-ui-go
make build

To start the application and the web-based UI:

export EDGEX_SECURITY_SECRET_STORE=false
make run

To rebuild after making changes to source:

make clean
make build

To test the web-based UI:

make test

Using the edgex-ui

With a modern browser, navigate to http://yourdomain:4000 (change yourdomain to your server's hostname or ip).

NOTE: the GUI is running in non-secure mode when the environment variable EDGEX_SECURITY_SECRET_STORE=false, if EDGEX_SECURITY_SECRET_STORE=true, the accesss token for edgex is required, see the edgex document how to get the token.

NOTE: make sure that EdgeXFoundry is already running, Please refer to Edgex Services Get Started.

Other installation and deployment options

Build your own Docker Containers

make docker

Community

License

Apache-2.0

Feedback

  • If you want to learn how to use the UI, you can refer to the user guide user guide.

  • If you find a bug or want to request a new feature, please open a GitHub Issue.

edgex-ui-go's People

Contributors

aabcce avatar ajcasagrande avatar anonymouse64 avatar bill-mahoney avatar bnevis-i avatar brandonforster avatar ccb1900 avatar cloudxxx8 avatar davezlb avatar dependabot[bot] avatar dovholuknf avatar ernestojeda avatar farshidtz avatar jamesrgregg avatar jbonafide623 avatar jiekechoo avatar jpwhitemn avatar jpwku avatar jumpingliu avatar lenny-goodell avatar mglmc avatar monicaisher avatar rsdmike avatar saites avatar soda480 avatar thank037 avatar tiejunchina avatar tmpowers avatar wshengqi avatar yanghua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edgex-ui-go's Issues

Change the SET command parameter formatter

the old format of SET command is just one Object with key-value, but the new feature of the new version of edgex foundry change it to array with multiple objects instance.

Improve command list layout

Improve command list layout, so far , the layout of command is unreasonable, users from community are very sensitive to this issue , please complete it as soon as possible , thanks, :-) @yanghua

Add notification module

Integrate notification module to notice user when any operations executed in edgexfoundry.
(添加通知菜单,尤其是device的增删改发生的时候要实时通知到管理者)

Refactor the project structure

Refactor the project structure.
community reflect that the current project structure is too redundant, i have show and discuss the original project structure which i commit firstly,they all think it’s good and acceptable, so i will refactor the whole project structure, so guys, if you have any idea, please let me know, we can discuss it more details, if not ,i will do it in response to the community's feedback. @TiejunChina @yanghua @JPWKU

Improve device management module

Improve device management module, show the status of all devices.this topic is from community ,it is very important ,please finish it as soon as possible, :-) @yanghua
(这个需求是从社区得来的需求,很重要,请尽快完成)

1: use panel wrapper
2: use bootbox instead of default dailog

Update version of go used to build Docker image

The version of go used to build the project's docker image is 1.9, it should be updated to 1.11.9 or 1.12. I believe the decision for the rest of the project was to wait until after the Edinburgh release to switch to 1.12, so probably best to switch to 1.11.9 for now.

Improve menu list

Improve menu list (优化美观菜单列表,当然有兴趣的小伙伴也可以先尝试做一下,贴个效果图 :-))

Improve gateway management

1: use panel wrapper
2: use bootbox instead of default dialog
3: add edit button ,so user can update the gateway

Add dashboard module

Add dashboard module to show total of device、deviceService、Alert .etc.
(添加dashboard菜单,统计一些设备总数,设备微服务总数,警告通知等总数,用户总数信息等,其他的统计信息以后慢慢添加)

Add initialize home or shield layer when login

Add initialize home or shield layer when login.
(现在首次登陆的时候,如果网络慢了,会出现首页被加载一次,添加一个遮罩层或者初始化首页屏蔽这个问题)

Docker image shouldn't contain source code from git repository

The dockerfile for this project should only include compiled binaries and static configuration/data files such as the web/static and web/template directories. This line seems to be the problem:

COPY --from=builder /go/src/github.com/edgexfoundry/edgex-ui-go/ /go/src/github.com/edgexfoundry/edgex-ui-go/

which copies all of the repository into the image. Instead, something like for edgex-go should be done where just the binaries are copied into the image:

https://github.com/edgexfoundry/edgex-go/blob/78ba8bd0017a61459c0f8cd4eb25efb4f917d6ab/cmd/core-data/Dockerfile#L43-L45

go vet failure

Both delhi and master branches are failing on go vet.

22:02:50 go vet ./...
22:02:51 web/app/component/mqtt.go:58: Println call ends with newline
22:02:51 exit status 1
22:02:52 Makefile:31: recipe for target 'test' failed

command set returns failed

excuse me
when i send the set command to device-simple it returns failed although the switch state is changed.
at first the device-simple debug error, so i changed device.js sendCommand data: from JSON.stringify(paramBody), to "["+JSON.stringify(paramBody)+"]",

am i right ? is there anything wrong?
thank you!

Use configuration.toml for handling configuration items at runtime

All of the configuration constants enumerated in

const (
ReadBufferSize = 1024
WriteBufferSize = 1024
SessionTokenKey = "X-Session-Token"
HttpProtocol = "http"
CoreDataPath = "/core-data"
CoreDataPort = "48080"
CoreMetadataPath = "/core-metadata"
CoreMetadataPort = "48081"
CoreCommandPath = "/core-command"
CoreCommandPort = "48082"
CoreExportPath = "/core-export"
CoreExportPort = "48071"
RuleEnginePath = "/rule-engine"
RuleEnginePort = "48075"
SupportLoggingPath = "/support-logging"
SupportLoggingPort = "48061"
SupportNotificationPath = "/support-notification"
SupportNotificationPort = "48060"
SupportSchedulerPath = "/support-scheduler"
SupportSchedulerPort = "48085"
WebDirName = "web"
ContentTypeKey = "Content-Type"
JsonContentType = "application/json"
RedirectHttpCode = 302

should instead be configurable at runtime, such as the desired port number, the paths for routes, etc.

Additionally, things like the project root for where to find the web app static path and such should also be configurable through a configuration.toml file, i.e. this variable:

RelativePathToProjectRoot = "../../"

should be configurable at runtime

Improve export module

Improve export module. so far , the function how to display export data in real time is not friendly to user, it should add anther button. this issue comes from user from community, please finish it as soon as possible ,thanks, :-) @yanghua

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.