Skip to content

4CS017/UM1 - Internet Software Architecture: A simple chat application designed to understanding internet and cloud-based software architectures and related technologies, tools and techniques. And an implementation of a simple distributed application using an appropriate architecture and suitable technology.

Notifications You must be signed in to change notification settings

ChrisDunamis/Chat-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat-Application

Terminologies

  1. Web server (hosts the UI/Content)
  2. Application server (backend - performs the logic)
  3. Client/End-user

Features

  • Multi-client chat application
  • Configure workspace & rooms via JSON
  • Bootstrap/CSS-grid UI
  • Real-time user count in a given channel (room)
  • Chat history
  • Console debug statements to explain the flow
  • A client can be active in 1 room of a channel

Restrictions:

  • No login/logout
  • Cannot add workspace or channel from the client side
  • Will not persist chat history on server side or client side (after server shutdown)
  • Note: The contents of the user session are destroyed when the client disconnects. In particular, user session contents are not preserved when a client reconnects after an unexpected disconnection from the server.

Installation Steps:

Front-End

  • execute (chmod +x front-end/server.sh)

To start the front-end server:

  • execute cd front-end
  • execute ./server.sh

Back-End

Execute the following from the py-back-end folder:

  • pip3 install wheel
  • pip3 install python-socketio
  • pip3 install asyncio
  • pip3 install aiohttp
  • pip3 install aiohttp_cors

To start the back-end server:

  • execute cd py-back-end
  • execute python3 web-server.py

About

4CS017/UM1 - Internet Software Architecture: A simple chat application designed to understanding internet and cloud-based software architectures and related technologies, tools and techniques. And an implementation of a simple distributed application using an appropriate architecture and suitable technology.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published