Code Monkey home page Code Monkey logo

chat's Introduction

chat

Chat!:speech_balloon: An online chat app that supports private & group chat, built with React + Spring Boot, homework

Notes:

  • chat-app: client (front end) web app, React project
  • chat: server-side (back end) Spring Boot project (forwards messages to RabbitMQ server)

The web app and the server communicate with STOMP over WebSocket in realizing the chat function.

Requirements:

Some Thoughts...

I think this app is quite a typical publish-subscribe application (well, it's my homework to build one after all...): Spring Boot server as Directory service (DS) & publisher-side Event notification server (ENS), RabbitMQ server as consumer-side ENS and web client as Consumer client & Publisher client (the two clients' behaviors are independent).

P.S. homework's the 2 exercises as follows:

Anthony, R: Systems Programming: Designing and Developing Distributed Applications

End of Chapter Programming Exercises:

  1. Integrate the NTP client-side functionality into an application. This programming challenge relates to the time service client use case.

    The task. Build an NTP client functionality into any application of your choice. You are recommended to use the NTP library provided as part of the support materials. Start by studying the program code of the two provided NTP application client programs, which integrate the library and then mimic this library integration in your own application.

    Note that the two application clients already discussed in the time service case study serve as sample answers for this exercise.

  2. Develop a publish-subscribe application, which uses an external ENS as a means of decoupling the application components. You are recommended to use the ENS presented in the second case study in this chapter.

    The event types and values will depend on the theme of the application you choose; for example, in a distributed game application, there may be event types such as new-player-arrival and new-game-started. Begin by studying the program code of the sample application publisher and consumer components provided as part of the supporting resources for the book. Consider developing your publisher in one language and your consumer in another, to experiment with the heterogeneity and interoperability aspects.

    Note that the application clients already discussed in the ENS case study serve as sample answers for this exercise.

chat's People

Contributors

astro2049 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.