Built ontop of
- Express.js
- PostgreSQL
- Prometheus -- TODO
- Grafana -- TODO
Includes
- Hot Reloading
- JSON Webtokens
- API Keys
- User Credentials
- Rate Limiting
This currently runs the express server and postgres database in containers, with plans to add prometheus and grafana in the future.
I have written a blog post outlining a similar setup with InfluxDB.
none of this is secure 🤷♂️ this is just a fun project for me to learn with, feel free to contact me!
modify compose.yaml
with a different password in the Postgres Service and DATABASE_URL of the Gateway Service
docker compose up
will run the gateway and database
create a file in the /src/routes directory similar to the example.ts
import { Request, Response, Router } from "express";
import { registerGET, registerPOST } from "../lib/registerHTTP";
export default (router: Router) => {
registerGET(router, "/hello/", async (req: Request, res: Response) => {
res.send("Hello!");
});
registerPOST(router, "/hello/", async (req: Request, res: Response) => {
res.send("Hello!");
});
};
examples of using the different builtin auth middleware are shown in /src/testing.ts