Skip to content

Development

Project Structure

.env
package.json
src/
    api/
        authApi.js
        roleApi.js
        serviceApi.js
        swagger.js
        swaggerApis/
            baseSwagger.js
            authSwagger.js
            role.js
            serviceSwagger.js
            fullSwagger.js
    controllers/
        authController.js
        roleController.js
        serviceController.js
    db.js
    index.js
    lib/
        utils/
            logger.js
            response.js
    middleware/
        authorization.js
        axiosInstance.js
        passport.js
    models/
        podRole.js
        role.js
        service.js
        user.js
    operations/
        authOperations.js
        podsOperations.js
        roleOperations.js
        serviceOperations.js
    utils/
        generateApiKey.js
        password.js
        passport.js
        userToken.js

Contribution Guidelines

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to the branch (git push origin feature-branch).
  6. Create a new Pull Request.

Architecture

The service is built using Node.js and Express, with a PostgreSQL database managed by Slonik. Authentication is handled using Passport.js with JWT and local strategies. The service also includes role-based access control and dynamic service registration.