Energy Monitor is an application to process, analyze, store and monitor energy usage.
⚠️ This project is incomplete and is not for production.
- web: dashboard (admin/users) to manage resources.
- backend: monolith handle everything (cron jobs, alerts, users, email notification ..)
- hivemq extension: plugin written with the help of hivemq extension sdk to authenticate devices and to react to device connection lifecyle
- cli: tool to help seed/drop database and pub/sub to mqtt topics in development
- Realtime visualisation of device messages (power, voltage, current..)
- daily, monthly, annual power consumption
- Automatically generated monthly reports and bill estimation
- Alerts
git clone --recurse-submodules https://github.com/b-haytham/energy-monitor
copy the example envirement variables
cd energy-monitor
cp envs/examples/backend.example.env envs/backend.env
cp envs/examples/hivemq.example.env envs/hivemq.env
cp envs/examples/dashboard.example.env envs/dashboard.env
change super admin credentials or leave the default
# envs/backend.env
SUPER_USER_EMAIL=superadmin@gmail.com
SUPER_USER_PASSWORD=superadmin
optionally set email configuration
# envs/backend.env
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM_ADDRESS=No Reply <engy-monitor@mail.com>
run docker compose
docker compose up
# --- or --- (depends on how you installed docker compose)
docker-compose up
Name | Url |
---|---|
Dashboard | http://localhost:3001 |
Admin login | http://localhost:3001/admin/auth/login |
User login | http://localhost:3001/auth/login |
backend Api | http://localhost:3000 |
Socket io url | http://localhost:3000/socket.io |
Mqtt broker (hivemq) | tcp://localhost:1883 |
now navigate to http://localhost:3001/admin/auth/login
and use email & password you setup in previous step.
your can follow more detailed guide on how to navigate the application GUIDE.
This project is licensed under the MIT License - see the LICENCE file for details