Pub Sub Security API Developer Guide
Install / Repository
Follow instructions of the README.md:
Technology Stack
- Typescript (Javascript Superset)
- NestJS (Node.js Framework)
- Swagger (Documentation)
- Mongoose (MongoDB ODM)
- MongoDB (Document-Database)
Parts
- abstract-pub-sub
- Abstracts interaction with own db for topics/permissions/credentials
- authentication
- Handles initial rabbitmq account creation
- message-bus
- Abstracts and wrapps rabbitmqs http endpoint
- resource
- Handles interaction with own db for resources
- service-registry
- Handles interaction with the external service registry
Every part has (most of the time) a controller (for handling the request), a service (for handling the overall work), a module (for grouping everything into one “thing”) and interfaces. The interfaces can be of different type: dto (information that is passed by the request), entities (information about the db structure)
Database Structures
- Resource is a thing that might include multiple
- Topics are for the given machine etc and have
- credentials contain information about consume/produce
- Topics are for the given machine etc and have
Style / Lint
Basic JS styling and linting rules are used. These are enforced by prettier and eslint.
Just run npm run format
and npm run lint
to automatically apply them and see other warnings.