Proposta
Data | Versão | Descrição | Autor |
20/05/18 | 1.0 | Ideia, Implementação, Spot, Tipo de Framework, Documentação, Bibliotecas, Próximos Passos. | Equipe |
1. Ideia
Desenvolvimento de um framework escrito em Python ou Ruby para criação de chatbots, prontos para integração com as plataformas Facebook Messenger e Telegram.
O nosso framework agiria como um intermediário (middleware) entre as SDKs do Messenger e o Telegram e o código escrito pelo usuário para criar os chatbots.
2. Implementação
Nós iremos desenvolver um servidor web para receber as requisições dos servidores do facebook e do telegram. irá receber a requisição e irá tratar essa requisição delegando para as SDK’s a ação final de acordo com a mensagem.
2. Spots
2.1 Frozen
Integração com Telegram
Integração com Messenger
SQLite para armazenamento de dados
2.2 Hot
Models para armazenamento de dados
Comandos de ação do chatbot
3. Tipo do Framework
Após a análise das funcionalidades que pretendem ser oferecidas pelo framework, identificou-se o tipo caixa cinza. O framework permitirá reúso por herança, associação dinâmica, sendo um intermediário entre os dois outros tipos de frameworks, caixa branca e caixa preta.
4. Documentação
Pretende-se elaborar uma documentação a nível de código, explicando o que cada método das classes fazem, além de criar alguns exemplos de projetos usando o framework.
5. Bibliotecas
A depender da linguagem escolhida pela equipe, poderá se utilizar as seguintes bibliotecas para a criação do framework.
Linguagem | Título | Descrição | URL |
Ruby | telegram-bot-ruby | Biblioteca de integração com Telegram | |
Ruby | Ruby Messenger | Biblioteca de integração com Facebook Messenger. | |
Ruby | Rack | Biblioteca para criação de servidores web. | |
Ruby | SQLite3/Ruby | Biblioteca para gerenciamento de banco de dados SQLite. | |
Python | Python Telegram Bot | Biblioteca de integração com Telegram. | |
Python | Python Messenger Bot | Biblioteca de integração com Facebook Messenger. | |
Python | SQLite3/Python | Biblioteca para gerenciamento de banco de dados SQLite. | |
Python | SQLAlchemy | Biblioteca de mapeamento objeto-relacional SQL para Python |
6. Próximos Passos
A equipe definiu algumas tarefas para iniciar o desenvolvimento do framework e estão relacionadas a seguir:
Definir funcionalidades do Framework
Como fazer uma model apenas especificando os atributos e os tipos de cada atributo.
Criar o diagrama de classes do framework
Criar um site para a documentação (https://www.gitbook.com/)
Definir a estrutura de pastas do projeto
Last updated