Code Monkey home page Code Monkey logo

api's Introduction

API

O objetivo deste AC é o de desenvolver um sistema de chat simples. Tanto o lado do cliente quanto o do servidor devem ser desenvolvidos. O cliente deve ser feito utilizando-se a biblioteca requests e menus em modo texto simples (input e print). O servidor deve ser feito utilizando-se Flask e SQLite. Preze pela modularização do código tal como visto em aula.

Cada usuário tem os seguintes campos: Id: int, nome: str, segredo: str

Cada mensagem tem os seguintes campos: Id da mensagem: int; id do remetente: int; id do destinatário: int; - pode ser 0, para indicar que a mensagem é visível a todos. data/hora: str - use a biblioteca datetime para validar isso; texto: str

Os usuários podem se cadastrar por meio da seguinte URL: POST /usr

O corpo da requisição deve conter um JSON no seguinte formato: {"nome": }

Se o login já existir, um erro 409 deve ser produzido. Só serão aceitos usuários vinculados ao LMS,portanto deverá haver o usuário deste chat cadastrado como ALUNO OU PROFESSOR.

A resposta da requisição, se aceita, deve ser um JSON no seguinte formato: {"id": , "segredo": } Ambos os campos devem ser gerados pelo servidor. O campo id é um número sequencial.

Os usuários podem enviar mensagens por meio da seguinte URL: POST /msg

O corpo da requisição deve conter um JSON no seguinte formato: { "de": , "para": , "segredo": , "texto": }

Se os campos "de" ou "para" referenciarem usuários que não existem, um erro 404 deve ser devolvido. Mais uma vez não esqueça de validar se o usuário existe e se é válido como professor ou aluno... Se o segredo não for o do usuário do campo "de", um erro 403 deve ser devolvido. A resposta da requisição, se aceita, deve ser um JSON no seguinte formato: {"id": , "datahora": } Ambos os campos devem ser gerados pelo servidor. O id é o id da mensagem e é um número sequencial.

Os usuários podem ler as mensagens postadas por meio da seguinte URL: GET /msg/?segredo=&inicio=&fim=

Onde:

  • inicio é o id da primeira mensagem desejada. É opcional.
  • fim é o id da última mensagem desejada. É opcional.
  • O da URL é o id do usuário.
  • O segredo é o segredo do usuário.

Se o segredo e o id do usuário não coincidirem, um erro 403 deve ser devolvido.

A resposta da requisição, se aceita, deve ser um JSON no seguinte formato: {"mensagens": [...]} Cada item das mensagens deve ter o seguinte formato: {"de": , "para": , "datahora": , "texto": }

Apenas mensagens onde o campo "para" correspondam ao usuário que fez a requisição ou que estejam com zero devem, ser retornadas.

Os usuários podem obter a lista de outros usuários por meio da seguinte URL: GET /usr

A resposta da requisição, se aceita, deve ser um JSON no seguinte formato: {"usr": [...]} Cada item das mensagens deve ter o seguinte formato: {"id": , "nome": }

Grupos de até 6 pessoas.

api's People

Contributors

zaael avatar lucaskurata 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.