Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fzl-22/antares-insight-backend

Antares' alerting and notification IoT system with implementation of MQTT over WebSockets.
https://github.com/fzl-22/antares-insight-backend

iot-platform mqtt nestjs typescript websocket

Last synced: 7 days ago
JSON representation

Antares' alerting and notification IoT system with implementation of MQTT over WebSockets.

Awesome Lists containing this project

README

        



# Antares Insight

## Description

This repository contains the proof of concept of [Antares'](https://antares.id) alerting and notification IoT system by utilizing MQTT over WebSockets. This backend system is implemented with the following technologies:

| Component | Technology |
| -------------------- | -------------------------------------------------------------------------------- |
| HTTP Server | [NestJS](https://nestjs.com) |
| Websocket Server | [Socket.IO](https://socket.io) |
| MQTT Broker | [Mosquitto](https://www.mosquitto.org) |
| Notification Service | [Firebase Cloud Messaging](https://firebase.google.com/products/cloud-messaging) |
| Mailing Service | [Nodemailer](https://nodemailer.com) |
| API Documentation | [Swagger](https://swagger.io) |

## Architectural Overview

![Antares Insight - Architectural Overview](./assets/readme/architectural-overview.png)

## Project setup

```bash
# clone the repository
$ git clone [email protected]:fzl-22/antares-insight-backend.git

# navigate to the project
$ cd antares-insight-backend

# install dependencies
$ npm install
```

## Compile and run the project

```bash
# development mode
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

# containerized mode
$ docker compose -f docker-compose.[dev|prod].yml up --build
```

## Documentation

Documentation is generated for every compilation and can be found in [http://localhost:3000/api/docs](http://localhost:3000/api/docs).