Code Monkey home page Code Monkey logo

dist-sys's Introduction

Logo

dist-sys (g-77)

Projeto para a cadeira de Aplicações Distribuídas (2020/2021)
(Projeto em 4 versões)

Grupo Jose Augusto

Funcionalidades:

Servidor

  • Utilização: server
  • Serviço Web com um API REST para gerir um sistema simplificado de classificação de álbuns de música de utilizadores, com a capacidade de interrogar o API REST do Spotify sobre mais informações em relação a um álbum/artista em particular.
  • Verificação de autenticidade do cliente fazendo uso do protocolo SSL/TLS garantindo comunicação confidencial (cifrada).
  • Utilização do protocolo OAuth2 (integradamente com o Flask) para obtenção da autorização requerida pelo REST API do Spotify.
  • Redirecionamento do utilizador para /login quando este tenta aceder aos recursos /artistas e /albuns antes de fazer login (i.e antes de ter um token valido).
  • Código detalhadamente documentado.

Cliente

  • Utilização: client [-c] [IP/Hostname] [Port]
  • Funcionamento: Para utilizar qualquer comando de acesso ao servidor, é necessário estar autenticado no Spotify. Na primeira utilização, deve obter o token através do login em https://localhost:5000/login . O token é obtido e guardado localmente. De seguida, pode utilizar qualquer comando de acesso ao servidor (HELP para obter a lista de comandos disponíveis).
  • Extra modo adicionado:
    • Colorless (-c), cujo desativa a funcionalidade das cores.
  • Extra comandos adicionados:
    • HELP, cujo apresenta os comandos disponíveis e a sua respetiva sintaxe
    • CLEAR, cujo limpa o histórico de comandos
  • Verificação de autenticidade do servidor fazendo uso do protocolo SSL/TLS garantindo comunicação confidencial (cifrada).
  • Comunicação com o servidor através do módulo requests (com devida autenticação).
  • Interface de pedido de comandos informa ao utilizador qual o host ao qual está a enviar comandos.
  • Leitura de comandos através de stdin.
  • Programação defensiva que permite que o programa não falhe quando um comando é introduzido incorretamente. Inclui também feedback sobre o erro/exceção, ajudando o utilizador a corrigir o erro.
  • Código detalhadamente documentado.

Notas

  • Para questões de teste, deverá ser utilizada a versão 4.
  • Estão presentes no repositório pares de chaves assimétricas e certificados utilizados apenas como exemplo. Num ambiente de produção, estas chaves já não poderiam ser utilizadas.

dist-sys's People

Contributors

xsu1010 avatar zeval avatar

Watchers

 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.