For this example we will use Docker compose to be able to run all the services

How to monitor PosgreSQL with Prometheus and Grafana | Docker

1.Docker Compose

version: "3.9"
services:
grafana:

image: grafana/grafana
ports:
- 3000:3000
prometheus:
image:
prom/prometheus
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
postgres:
image:
postgres:12
ports:
- 5432:5432
volumes:
- ./backup:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgrespassword
POSTGRES_DB: shop
postgres-exporter:
image:
prometheuscommunity/postgres-exporter
ports:
- 9187:9187
environment:
DATA_SOURCE_NAME: "postgresql://postgres:postgrespassword@postgres:5432/shop?sslmode=disable"
links:
- postgres
- prometheus

2.Prometheus File Settings (prometheus.yml)

global:
scrape_interval:
15s
evaluation_interval: 15s
scrape_configs:
- job_name:
prometheus
static_configs:
- targets:
["localhost:9090"]
- job_name: postgres-exporter
static_configs:
- targets:
["postgres-exporter:9187"]

3.Run Docker Compose

docker-compose up

4.Check status of Prometheus and PosgreSQL Exporter

http://localhost:9090/targets

5.Visit Grafana Dashboard

Default

User: admin
Password: admin

http://localhost:3000

In this example we will see how to add a router with vaadin router

Vaadin router

A small, powerful and framework-agnostic client-side router for Web Components

npm i @vaadin/routerimport { html, LitElement } from "lit";export class Home extends LitElement {
constructor() {
super();
}
render() {
return html`<div>
<h1>Home</h1>
</div>`;
}
}
customElements.define("my-home", Home);

main.js

import { Router } from "@vaadin/router";function initRouter() {
const router = new Router(document.querySelector("#app"));
router.setRoutes([
{
path: "/",
component: "my-home",
action: () => import("./pages/Home")
},
{
path: "/about",
component: "my-about",
action: () => import("./pages/About"),
},
]);
}
window.addEventListener("load", () => initRouter());<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/src/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Lit App</title>
<script type="module" src="src/main.js"></script>
</head>
<body>
<my-navbar></my-navbar>
<div id="app"></div>
</body>
</html>

This post will show you some GitHub REST API endpoints that you can use

List of Contributors of an organization

GET https://api.github.com/repos/:owner/:repo/contributors

List of repositories of a user

GET https://api.github.com/users/:user/repos

Get users by location

GET https://api.github.com/search/users?q=location:"El Salvador"&page=1

Information of organization

GET https://api.github.com/orgs/:org

Members of an organization

GET https://api.github.com/orgs/:org/public_members

Organizations by location

GET https://api.github.com/search/users?q=type:"org"location:"El Salvador"&page=1

Profile of a user

GET https://api.github.com/users/:user

Followers of a user

GET https://api.github.com/users/:user/followers

Gists of a user

GET https://api.github.com/users/:owner/gists

Organizations of a user, don’t include if is owner

GET https://api.github.com/users/:owner/orgs