# README
Routehub.Client.HUB
This project is HUB application aka client. Planned to deployed for every domain for user project.
Has two hosting modes;
- MQTT
- REST
MQTT Used for receiving updates from GraphQL Service.
Please check out RouteHub-Link/RouteHub.Service.GraphQL.
Development
Template engine is templ. you need to install it before running the project and you need to run the following command for changes to take effect.
- go install github.com/a-h/templ/cmd/templ@latest
- go get github.com/a-h/templ
Please check out the Makefile for commands.
make serve-rest
make serve-mqtt
make hotserve
Please use .env file for required environment variables. For easy development SEED is provided. Check .env.development file. Copy it to .env file. For development you just need to connect 1 services. Redis. You can use docker-compose file for that or you can run them by yourself. Pleaase check Makefile for commands.
make keydb
If you use podman you can use podman- as prefix. For example;
make podman-keydb
Deployment Requirements
- REST as self (for handling request's)
- MQTT as self (for handling update's & sending reports)
- Redis as keydb (keydb not required but suggested. Used as database)
Deployment
HELM
Please check out the helm chart for deployment. RouteHub-Link/RouteHub.Helm
Docker Compose
# Clone the project
git clone https://github.com/RouteHub-Link/RouteHub.Client.Hub
cd RouteHub.Client.Hub
# Copy .env.development to .env
cp .env.development .env
# Run the services
docker compose -f "docker-compose.hosted.yml" up -d --build
Technologies
- GO
- Redis as KeyDB
- MQTT
- Rest Echo
- Template Rendering templ
- Bulma CSS
- Docker