Skip to content

Deve-Lite/DashboardX-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dashboard X

Let's make IT 😎


Built With

C# Blazor

About The Project

DashboardX: Your Gateway to the World of MQTT Devices. DashboardX is an intuitive application that lets you manage and control devices using the MQTT protocol. It allows you to connect to multiple MQTT brokers (advising to use HiveMQ).

Easy Device Addition

  • Select your device from the list or add your own by manually defining its specifics.
  • Specify the controls you want to use to interact with the device:
    • Buttons: Perform actions with simple buttons.
    • State buttons: Track and change the state of your device.
    • Sliders: Precisely adjust values, e.g., lighting brightness.
  • Assign each control an appropriate MQTT topic to communicate with the device.
  • Optionally set the payload sent when interacting with the control. -Intuitive Interface:

DashboardX offers a user-friendly interface, so

  • Adding and managing devices is a breeze.
  • Configuring controls and topics is clear and intuitive.
  • The status of your devices is always visible at a glance.
  • Start your IoT journey today!

DashboardX is an excellent solution for anyone who wants to build their own Internet of Things (IoT) solutions. Download the project from GitHub and see for yourself how easy and convenient it can be to control devices!

Additional features

  • Support for multiple MQTT brokers
  • Easy configuration of controls and topics
  • Intuitive and user-friendly interface
  • Real-time updates on device status

DashboardX is the perfect tool for

  • DIYers and makers
  • IoT developers
  • Anyone who wants to build their own connected devices

Get started with DashboardX today!

Api and Database

Api and database can be found in DashboardX-API Repository. Api is required to start the application.

Local Setup

In order to run application SSL certificates will be required.

OpenSSL

Some helper commands to ganerate SSL certs locally, for development only!

First of all, install openssl. Easily you can do it with choco, and then run:

choco install openssl
DNS

Windows

Go to C:\Windows\System32\drivers\etc\hosts, edit file as Admin and add the following line:

127.0.0.1 dashboardx.local
127.0.0.1 dashboardx.docker

image

Steps
  1. Create a private key for the CA (Certificate Authorities).
openssl genrsa -aes256 -out DashboardX-RootCA.key 4096
  1. Create Certificate of the CA
openssl req -x509 -new -nodes -key DashboardX-RootCA.key -sha256 -days 1826 -out DashboardX-RootCA.crt -subj '/CN=DashboardX Root CA/C=PL/ST=Malopolska/L=Krakow/O=DashboardX'
  1. Add the CA certificate to the trusted root certificates

Windows

Right click on the generated .crt, then select Install. Install it for all users and select Trusted Root Certificate Authorities from the list.

image

Ubuntu

sudo apt install -y ca-certificates
sudo cp DashboardX-RootCA.crt /usr/local/share/ca-certificates
sudo update-ca-certificates
  1. Create a certificate for the webserver
openssl req -new -nodes -out docker.csr -newkey rsa:4096 -keyout docker.key -subj '/CN=DashboardX/C=PL/ST=Malopolska/L=Krakow/O=DashboardX'
  1. Create a docker.v3.ext file for SAN properties
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = dashboardx.local
DNS.2 = dashboardx.docker
IP.1 = 0.0.0.0
IP.2 = 127.0.0.1
  1. Sign the certificate
openssl x509 -req -in docker.csr -CA DashboardX-RootCA.crt -CAkey DashboardX-RootCA.key -CAcreateserial -out docker.crt -days 730 -sha256 -extfile docker.v3.ext
  1. Put certificates in src\Presentation folder

Docker

Requires Certificates.

When using docker compose you should check

  • API_URL - and adjust to local api configuration

In order to run app:

  • docker-compose up -d

Now you can acess app at http://localhost:8080/.

Visual Studio

Requires Certificates.

Roadmap

To see planned activities please see Issues.

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact