Coder Social home page Coder Social logo

cipz / coronaz Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 0.0 5.25 MB

Project developed for the Distributed Systems course at the University of Helsinki in the accademic year 2020 - 2021.

Home Page: https://youtu.be/RhMn2ERpSIQ

Dockerfile 0.43% HTML 0.54% JavaScript 3.44% Python 5.56% Shell 1.52% TeX 88.51%
distributed-systems docker docker-compose kafka python

coronaz's People

Contributors

cipz avatar frensing avatar stefko3z avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

coronaz's Issues

Add MongoDB(storage)

The data from the MQTT server should be persisted, think about which server would make the most sense?

MongoDB is good with web applications, but what about MQTT?

Add React map

Create a react app that shows a map of where the different nodes are located:

input: size of board, [x,y,infected]

The app should communicate with the MQTT server via HTTP.

It would make sense to use a js visualization library for the map, for example: d3.js might be a good candidate

Adding params file

Add params.json file that tells the nodes and the frontend how large the map is and how long the simulation runs

Add code for Zombie/Human

Code for zombie/human node:

  • Should be written in Python

State:

  • UUID
  • map<other nodes, coordinates, infected>
  • coordinates
  • boolean infected

Functions:

  • broadcast to all nodes in network
  • listen for broadcasts
  • move semi-randomly
  • become infected(nodes don't mode while infected)

Other nice things to have:

  • nodes avoid inftected nodes while moving
  • have 2 theads, one for broadcasting in node network and one for MQTT server
  • store state in JSON file

Write the report

  • project goal, core functionality; applications / services that could be build on project (Corona Warn systems)
  • design principles: architecture, process, communication techniques
  • key enablers, lessons learned
  • can system scale to support more nodes
  • quantify performance of system, how is performance improved
  • functionalities: naming, node discovery, consistency, synchronization, fault tolerance, revocery

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.