Skip to content

This project is a gateway service built using the NestJS framework. It serves as a central point for handling requests and routing them to appropriate microservices.

License

Notifications You must be signed in to change notification settings

pieceowater-dev/lotof.template.gateway

Repository files navigation

lotof.template.gateway

Description

This project is a gateway service built using the NestJS framework. It serves as a central point for handling requests and routing them to appropriate microservices. The gateway also integrates with RabbitMQ for message brokering. πŸš€

With its modular architecture, the gateway enables seamless communication between different services, ensuring efficient and scalable application development. πŸ’ͺ

By leveraging the power of NestJS, developers can easily implement authentication, request validation, and other common functionalities in a declarative manner. ✨

The integration with RabbitMQ allows for reliable and asynchronous communication, enabling the gateway to handle high volumes of requests with ease. πŸ‡

Whether you're building a monolithic application or a distributed system, this gateway service provides a robust foundation for your project. πŸ—οΈ

Installation

Docker Installation

To pull the Docker image from the GitHub Container Registry:

1 - Login to ghcr.io

echo "YOUR_GITHUB_TOKEN" | docker login ghcr.io -u YOUR_GITHUB_USERNAME --password-stdin

2 - Go to GitHub Packages menu and copy the command to pull the image

Manual Installation

To install the dependencies, run:

npm install

Running the Application

Development Mode

To start the application in development mode with hot-reloading:

npm run start:dev

Production Mode

To start the application in production mode:

npm run start:prod

Debug Mode

To start the application in debug mode:

npm run start:debug

Environment Variables

The application uses the following environment variables, which should be defined in a .env file at the root of the project:

PORT=3000
MODE=dev
RABBITMQ_URL=amqp://guest:guest@localhost:5672

Scripts

The following scripts are available in the package.json:

Update dependencies.

npm run update

Build the project.

npm run build

Format the code using Prettier.

npm run format

Start the application.

npm run start

Start the application in development mode.

npm run start:dev

Update @pieceowater-dev/lotof.lib.broadcaster dependency to latest version and start the application in development mode.

npm run start:dev:updt

Start the application in debug mode.

npm run start:debug

Start the application in production mode.

npm run start:prod

Lint the code using ESLint.

npm run lint

Run unit tests.

npm run test

Run unit tests in watch mode.

npm run test:watch

Run unit tests with coverage.

npm run test:cov

Run unit tests in debug mode.

npm run test:debug

Run end-to-end tests.

npm run test:e2e

Testing

To run the unit tests:

npm run test

To run the unit tests in watch mode:

npm run test:watch

To run the unit tests with coverage:

npm run test:cov

To run the end-to-end tests:

npm run test:e2e

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

PCWT Dev Logo

About

This project is a gateway service built using the NestJS framework. It serves as a central point for handling requests and routing them to appropriate microservices.

Topics

Resources

License

Stars

Watchers

Forks

Packages