Coder Social home page Coder Social logo

covid-alarm's Introduction

GoAwayBigCovid

Este projeto consiste num Alarme Covid no âmbito da Unidade Curricular de Paraigmas de Sistemas Distribuídos. Este sistema permite a existência de utilizadores que interagem com o sistema para criar contas, efetuar login, consultar estatísticas de cada distrito, atualizarem a sua posição, ou comunicarem ao sistema que estão infetados. O sistema em si possui um mecanismo de notificações público e privado que notifica os utilizadores.

Servidor Front-end

Pedidos

Porta

8001

Formato

Primeiro pedido depois de estabelecer a ligação (ou depois de fazer log out):

Pedido Sintaxe Resultado
create account "ca <username> <password> <nº distrito> <locationX> <locationY>" "ok <nº distrito> <id>" | "error user_exists"
login "li <username> <password>" "ok <nº distrito> <id>" | "error already_logged_in" | "error invalid"
<outro> - "error invalid_request"

Restantes pedidos:

Pedido Sintaxe Resultado
logout "lo" "ok"
update location "ul <locationX> <locationY>" "ok" | "error no_user"
users in location "us <locationX> <locationY>" "<number>"
add infected user "ai" "ok" | "error no_user"
<outro> - "error invalid_request"

( i ) Nenhum dos argumentos pode conter espaços

Notificações Privadas

Porta

8002

Formato

"<nº distrito> <id utilizador> <mensagem>"

( i ) <mensagem> pode conter espaços

Servidor Distrital

Distritos

Os números dos distritos são os seguintes, tendo sempre 2 dígitos:

01: Aveiro
02: Beja
03: Braga
04: Bragança
05: Castelo Branco
06: Coimbra
07: Évora
08: Faro
09: Guarda
10: Leiria
11: Lisboa
12: Portalegre
13: Porto
14: Santarém
15: Setúbal
16: Viana do Castelo
17: Vila Real
18: Viseu

Threads

1: Thread Request/Reply
2: Thread Notificações Públicas
3: Thread Notificações Privadas

Formato das Portas

7|nºdistrito|nºthread

Formato dos Pedidos

Pedido Sintaxe Resultado
new user "nu <locationX> <locationY>" "<id>"
update location "ul <id> <locationX> <locationY>" "ok" | "error no_user"
users in location "us <locationX> <locationY>" "<number>"
add infected user "ai <id>" "ok" | "error no_user"
<outro> - "error invalid_request"

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.