Implement an API for our Bots. This should consist of a HTTP/REST backend and a database. The backend will have two resources: - /bots: the bot resource represent the bots registered in our Bot platform. The /bots endpoint have to manage all operations related to bots i.e. create, read, update and delete.
{
"id": "36b9f842-ee97-11e8-9443-0242ac120002",
"name": "Aureo"
}
201 = SUCESSO: Bot criado com sucesso 400 = BAD REQUEST: O body enviado está incorreto 404 = Rota não encontrada 500 = ERRO: Serviço está foda do ar
{
"id": "36b9f842-ee97-11e8-9443-0242ac120002",
"name": "Aureo"
}
200 = SUCESSO: Bot retornado com sucesso 400 = BAD REQUEST: UUID inválido 404 = Rota não encontrada 500 = ERRO: Serviço está foda do ar
{
"conversationId": "7665ada8-3448-4acd-a1b7-d688e68fe9a1",
"timestamp": "2018-11-16T23:30:52.6917722Z",
"from": "36b9f842-ee97-11e8-9443-0242ac120002",
"to": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"text": "Oi! Como posso te ajudar?"
}
201 = SUCESSO: Mensagem gravada com sucesso 400 = BAD REQUEST: UUID inválido 404 = Rota não encontrada 500 = ERRO: Serviço está foda do ar
{
"id": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"conversationId": "7665ada8-3448-4acd-a1b7-d688e68fe9a1",
"timestamp": "2018-11-16T23:30:52.6917722Z",
"from": "36b9f842-ee97-11e8-9443-0242ac120002",
"to": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"text": "Oi! Como posso te ajudar?"
}
200 = SUCESSO: Consulta efetuada com sucesso 400 = BAD REQUEST: UUID inválido 404 = Rota não encontrada 500 = ERRO: Serviço está foda do ar
[
{
"id": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"conversationId": "7665ada8-3448-4acd-a1b7-d688e68fe9a1",
"timestamp": "2018-11-16T23:30:52.6917722Z",
"from": "36b9f842-ee97-11e8-9443-0242ac120002",
"to": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"text": "Oi! Como posso te ajudar?"
},
{
"id": "67ade836-ea2e-4992-a7c2-f04b696dc9ff",
"conversationId": "7665ada8-3448-4acd-a1b7-d688e68fe9a1",
"timestamp": "2018-11-16T23:30:57.5926721Z",
"from": "16edd3b3-3f75-40df-af07-2a3813a79ce9",
"to": "36b9f842-ee97-11e8-9443-0242ac120002",
"text": "Gostaria de saber meu saldo?"
}
]
200 = SUCESSO: Consulta efetuada com sucesso 400 = BAD REQUEST: UUID inválido 404 = Rota não encontrada 500 = ERRO: Serviço está foda do ar
Para efetuar a instalação do cassandra acesse o site: https://academy.datastax.com/planet-cassandra/cassandra. Este link possui versão para windows e linux. A dsitribuição usada é da Datastax versão 3.9.0. Instruções para instalação: Acesse o link abaixo após fazer o download do arquivo. https://oneideluiz.wordpress.com/2013/10/25/instalando-cassandra-no-windows/
CREATE KEYSPACE chat
WITH REPLICATION = {
'class' : 'SimpleStrategy',
'replication_factor' : 1
};
Tabela BOTS
CREATE TABLE chat.bots (
id uuid,
name text,
PRIMARY KEY (id));
Tabela MENSAGENS_POR_ID
CREATE TABLE chat.mensagens_por_id(
id uuid,
conversationId uuid,
timestampMsg timestamp,
fromId uuid,
toId uuid,
textMsg text,
PRIMARY KEY ((id),conversationId));
Tabela MENSAGENS_POR_IDCONVERSA
CREATE TABLE chat.mensagens_por_idconversa(
conversationId uuid,
timestampMsg timestamp,
fromId uuid,
toId uuid,
textMsg text,
PRIMARY KEY ((conversationId),toId));
You can render UML diagrams using Mermaid. For example, this will produce a sequence diagram:
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
And this will produce a flow chart:
graph LR
A[Square Rect] -- Link text --> B((Circle))
A --> C(Round Rect)
B --> D{Rhombus}
C --> D