Skip to content

Create simple user notification with ReactJS on frontend and NestJS with RabbitMQ to publish message to another notification service on backend

Notifications You must be signed in to change notification settings

zestzero/simple-user-noti

Repository files navigation

simple-user-noti

Overview

Development

Simply start development environment using docker

$ docker-compose up

Components

Web server - Repository

A NextJs with NestJs server-side and ReactJs on client-side.

Gateway API - Repository

A Gateway API acts as a facade to sit in front of microservice in the backend.

Backend API - Repository

A service to store data into database and publish message to messaging queue.

Messaging Queue

Coming soon

Notification Service

Coming soon

Submodules

Git submodules allows developers to create sub repositories within the same main repository. Also main repository is able to point to specific snapshot of submodules in order to keep versioning. More detail and tutorial can be found here.

How to update submodules?

When you merged any submodule PRs into their own main branch and you would like to update the main repository to poining to the latest every submodules' main branches. Just simply execute the below command line at the main repository.

$ git submodule update

Implementation notes 📝

Push notification using Socket connection vs Server-sent evens (SSE)? https://www.telerik.com/blogs/websockets-vs-server-sent-events

Event source, web interface to server-sent events. It's not IE compatible at all. https://developer.mozilla.org/en-US/docs/Web/API/EventSource

Interesting React UI library Mantine - Build fully functional accessible web applications with ease https://mantine.dev

Interesting articles about combining GraphQL for client and gRPC for micro-service When GQL meets GRPC - https://medium.com/@svengau/when-graphql-meets-grpc-3e9729d32e05 Evaluating Performance of REST vs. gRPC - https://medium.com/@EmperorRXF/evaluating-performance-of-rest-vs-grpc-1b8bdf0b22da NestJs supports GQL - https://docs.nestjs.com/graphql/quick-start NestJs also supports gRPC - https://docs.nestjs.com/microservices/grpc#sample-grpc-service

Interesting articles about integrating centralized logging system to consume logs from each micro-services using the following components:

  • Winston logging library writting logs into files.
  • Fluentd data collector forwarding to a logstash.
  • ELK steps by steps installation guide for ELK stack to display logs in Kibana web UI.
  • Microservice with Nestjs basic installation to connect between microservice using Nestjs/microservice.

About

Create simple user notification with ReactJS on frontend and NestJS with RabbitMQ to publish message to another notification service on backend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published