Skip to content

Android application created as Part 2 of a project for the course Distributed Systems at AUEB. The part one has only the backend (chat_filiw_backend)

License

Notifications You must be signed in to change notification settings

01iverr/chat_filiw_full

 
 

Repository files navigation

chat-filiw

Android application created as Part 2 of a project for the course Distributed Systems at AUEB.

The goal was to create an app in which the users would be able to connect to topics (conversations), and in those send and receive messages in text, image, and video form, using the code created for Part 1 of the project.

It was build using Android Studio.

Description


Client

Each user acts as a Client object. A Client is both a Publisher (able to send content to Brokers) and a Consumer (able to receive content from Brokers) at a given topic. In order to connect to a topic, it first connects to a random broker and based on information received it may need to esatblish a connection with a different Broker.

Broker

Each Broker is resposible for some topics, based on a hash taken from the topic's name. The Broker has a connection open for each Client currently using a topic it's responsible for.

How to use


Requirements

  • Minimum SDK for device (physical device, or emulator in Android Studio): 28

Run

  1. Clone project, and open in Android Studio

  2. Edit Broker IP Addresses in file app/src/main/java/com/example/filiw/backend/Node.java for Brokers

  3. Edit Broker IP Adresses in file app/src/main/res/raw/config.properties for application

  4. Run each Broker seperately.
    In order to run in cmd:

    cd app\src\main\java
    javac ./com/example/filiw/backend/Broker1.java
    java com.example.filiw.backend.Broker1
    

          (Repeat for Broker2, Broker3)
          Note: Brokers may be run in any order

  1. Run app in devices

About

Android application created as Part 2 of a project for the course Distributed Systems at AUEB. The part one has only the backend (chat_filiw_backend)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%