- Overview
- Features
- Prerequisites
- Cloud Environment
- Install Instructions
- Huddle Web UI
- Customization
- Backup Huddle
- Check Huddle Logs
- Huddle API
A Team Huddle site where teams can submit metrics ready for a Daily Huddle discussion.
Built with HTML, Javascript, Node.js, Express.
Data is written to a PostgreSQL database.
- Users can select their user and a date then enter their metrics for that day.
- Data is pulled from the PostgreSQL when a user changes the user or date in the form.
- The Huddle host can navigate through the user list using the arrows in the form or with the keyboard left and right arrow keys.
- If a users capacity is greater than 3 or their wellbeing is 30 minutes or less, those metrics will appear as red and bold so the Huddle host can easily spot them.
- There are multiple API endpoints for adding/removing users, and collecting metrics.
Install Podman (or Docker).
dnf install podman -y
t3.micro
20GB SSD
Standard_B2ls_v2
20GB SSD
You need to modify the huddle.sh file to change the host directory. Also change the values for the DB_* environment variables.
mkdir /home/support/huddle
git clone https://github.com/UNiXMIT/UNiXHuddle.git /home/support/huddle
cd /home/support/huddle
chmod +x huddle.sh
./huddle.sh
You can access the Huddle Web UI with:
http://serverIP:3000
To set a custom the name for the Huddle, modify the <title>
and <h1>
tag values in the index.html file.
To modify the port that Huddle uses on the host, modify line 8 of the huddle.sh file before running it, where 'xxxx' is an available port on the host machine to use.
-p xxxx:3000
podman logs huddle
GET /teams
cURL Example:
curl --request GET --url https://example.com:3000/teams
Response:
[{ "userteam": "SW", "userteamname": "Star Wars" }]
POST /teams
[{ "userteam": "SW", "userteamname": "Star Wars" }]
cURL Example:
curl --request POST \
--url https://example.com:3000/teams \
--header 'Content-Type: application/json' \
--data '[{
"userteam": "SW", "userteamname": "Star Wars"
}]'
DELETE /teams
[{ "userteam": "SW", "userteamname": "Star Wars" }]
cURL Example:
curl --request DELETE \
--url https://example.com:3000/teams \
--header 'Content-Type: application/json' \
--data '{
"userteam": "SW", "userteamname": "Star Wars"
}'
GET /users
cURL Example:
curl --request GET --url https://example.com:3000/users?userteam=SW
Response:
{
"usernames": ["Han Solo", "Darth Vader"]
}
POST /users
{
"usernames": ["Han Solo", "Darth Vader"],
"userteam": "SW"
}
cURL Example:
curl --request POST \
--url https://example.com:3000/users \
--header 'Content-Type: application/json' \
--data '{
"usernames": ["Han Solo", "Darth Vader"],
"userteam": "SW"
}'
DELETE /users
{
"usernames": ["Han Solo", "Darth Vader"],
"userteam": "SW"
}
cURL Example:
curl --request DELETE \
--url https://example.com:3000/users \
--header 'Content-Type: application/json' \
--data '{
"usernames": ["Han Solo", "Darth Vader"],
"userteam": "SW"
}'
GET /metrics
http://example.com:3000/metrics?userteam=SW&start=2024-01-28&end=2024-02-28
To get this data directly into Excel:
- Open Excel Desktop.
- Create a blank workbook.
- Select Data > Get & Transform > From Web.
- Enter the API URL (modifying the start and end dates) into the text box, and click OK.
- The Navigator pane should already have the Transform tab selected. Select 'To Table' and click OK, accepting the defaults.
- Left click the arrows in the 'Column1' header. This will reveal the names of the value pairs.
- Uncheck the box 'Use original column name as prefix' and click OK.
You should now see a preview of the table with the data from the API response. - Select 'Close & Load' in the Navigator pane.
The data will now be loaded into a table in the Excel workbook.