install
(https://www.rethinkdb.com/docs/install/ubuntu/)[RethinkDB]
- Nodejs
the access and eat the we API, just connect this url:
POST http://address/api/m?message=message_here
M é composto por 3 partes principais que são:
- DB: configuração de banco de dados onde faz as inserções e gerais e gerenciamento de banco de dados
- engime: responsavel por traduzir o que o cliente esta dizendo, é o recognagion de M a interpretação de ações(é quem sabe o que ou quem chamar)
- forward: carinha responsavel por socar as libs kk, ou seja, usado para fazer as chamadas de ações referente com o que foi traduzido no engimeM. Tipo ele sabe quem chamar depois de receber algumas informações de engimeM e tbm é responsavel por manter a conversação entre cliente e servidor (contexto)
Esses são os 3 pilares de M para execução geral de coisas.
Abaixo se encontra o objeto que é passado de uma lado para outro enviando informaões entre as duas partes
{
// limpar modulo
clear: () => {
this.context.module = false
},
// inserir mensagem
write: (message) => {
this.context.message = message
},
message: "", //messagens enviadas para o server
goBack: false,
module: false,
drive: false
}
Todas as letters/protocols possuem algumas coisas que são obrigatorias para seu funcionamento. esses itens(methods) são completamente importantes para que M funcione de forma correta.
Lembrando que para todo o funcionamento da solução M ela usa um esquema onde o nome do modulo é basicamente o involucro de determinadas ações, ou seja, ao definir o nome de um modulo M tenha cuidado em escolher algo bem sugestivo a ação que ela vai promover.
Segue a baixo os metodos de um module de M.
- m: metodo responsavel para conter o contexto do kernel para manipulações de mensagens cliente/M
- close: methodo responsavel por finalizar as conexões(destuindo a instancia de M no modulo) [Não exigido com rigidez]
- engime: esse metodo é um metodo base para operações especiais que o modulo possa precisar, dentro dele e definido varios sub metodos para servirem o modulo durante sua execução
- helpers: esse é um metodo importante que vai indicar o que cada metodo cadastrado no myTerms faz, com ele podemos ter ideia do que o sistema pode nos prover
- myTerms: metodo principal de cadastro de modulo no ecosistema de M, pois e nele que esta as informações que seram armazenadas npo banco de dados e que no futuro servirão de base para a traduçao de ações
- run: esse é o metodo masi importante de todo o modulo, pois ele é chamado por M para ser executado os modulos posteriormente criados e que foram traduzidos por M
run:
run: (m) => {
//instanciando M
financas.m = m
//executando o metodo que o translator diz que é o certo
financas[m.context.module.method]()
}
myTerms: aqui nos termos definimos quais palavras podem chamar o modulo e metodo, então a tradução de M verifica e já recupera essa informação e execura quem ela acha ser a coisa correta
myTerms: [{
terms: [
"dinheiro", 'posso', 'gastar', 'tenho', 'quanto'
],
method: 'disponivel',
name: 'financas',
found: 0
},
{
terms: [
"comprei", 'parada', 'uma', 'negocio'
],
method: 'what',
name: 'financas',
found: 0
}
]