shaikhanas1993 / indian-news

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

indian-news

Features of this project:

  • Provides real time news on the UI
  • Based on event driven architecture
  • Two separate microservices interact with each other using kafka queues
  • Uses spring cloud stream to listen and write into the queues, hence no boiler plate code to connect to messaging systems
  • microservices are queue provider independent, can easily replace kafka with rabbitMQ
  • the messaging servers are handled using docker
  • the UI microservice(news-app-ui) has two parts:
    • springboot enabled backend
    • reactJS based front end
    • the frontend and the backend interacts with each other to get real time data using web sockets

As you can see, this is mostly a POC project to understand the plethora of concepts:

  • Spring Cloud Stream
  • Docker basics
  • Kafka queues
  • Web sockets

Enhancements that can be done:

  • Most of the code of spring cloud stream is deprecated, this is because they haven't updated the docs so we can use the latest code snippets
  • Web Sockets is not based on SockJS which is kind of a bummer to me as I find SockJS to be more elegant but I will update it
  • The UI has not been integrated with the UI backend to run on the same port yet

About


Languages

Language:Java 67.8%Language:JavaScript 18.5%Language:HTML 13.2%Language:Shell 0.5%