GithubHelp home page GithubHelp logo

hellmrf / tweemol Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 420 KB

Bot em Node.js que publica, diária e automaticamente, uma molécula de interesse farmacológico, bem como sua estrutura, informações e um link para a Wikipédia.

Home Page: https://twitter.com/tweemol

License: MIT License

JavaScript 100.00%
javascript nodejs twitter-bot algorithmia-api custom-search-api wikipedia wikipedia-scraper

tweemol's Introduction


Logo

Tweemol

Robô que publica, todos os dias, uma molécula no Twitter contendo as informações extraídas da Wikipédia, um link e a imagem.
Acessar » · Reportar Bug · Fazer sugestão

Contributors Forks Stargazers Issues MIT License LinkedIn

Índice

Sobre o Projeto

Tweemol é um robô desenvolvido por Héliton Martins em Node.js que, todos os dias, escolhe uma molécula de interesse farmacológico e publica um Tweet com sua estrutura, informações e link para a Wikipédia. Isso é feito através de uma busca na Wikipédia seguida do resumo do texto. A imagem é obtida da Wikipédia ou Google Images, nesta ordem de prioridade. O robô, então, de posse de um texto de tamanho adequado para o Twitter e de uma imagem também adequada, publica esse conjunto de informações em @Tweemol no Twitter.

Motivação

Este projeto teve como principal objetivo o meu estudo pesosal do ambiente Node.js e utilização de APIs. Sou programador auto-didata e apaixonado pela programação. Assim, acredito que a melhor forma de estar sempre "em forma", isto é, alinhado com as novidades do mundo tecnológico, é desenvolvendo projetos pessoais que traduzam bem o instinto programador: resolver todos os problemas possíveis através de automação.

Antes de desenvolver este projeto, recebi grande influência do projeto open-source do youtuber Filipe Deschamps e também do @bot_RU_UFMG, robô desenvolvido por Vitor Mafra e que publica no Twitter o cardápio diário do Restaurante Universitário (bandejão) da UFMG, universidade na qual também estudo.

Feito com

Este projeto foi desenvolvido com:

Linguagem/Tecnologia:

Dependências:

APIs:

Serviços

  • Heroku · hospedagem e execução programada

Começando

Para reutilizar o projeto, seja para contribuir enviando um Pull-Request, ou para usar em seu projeto pessoal, veja a seguir o que será necessário.

Pré-Requisitos

Você precisará ter pré-instalado:

* Versões inferiores não testadas.

Configurando o ambiente

  1. Clone o repositório utilizando git clone.
git clone [email protected]:hellmrf/Tweemol.git
  1. Instale as dependências.
cd Tweemol
npm install
  1. Consiga uma conta de desenvolvedor do Twitter. ㅤ Para evitar a utilização inadequada das APIs, o Twitter fará uma verificação das suas inteções antes de aprovar sua conta. Isso pode demorar algumas horas. Acesse o Twitter Developer ou clique aqui para aplicar para o acesso. Detalhe o máximo possível suas intenções. Com a conta de desenvolvedor criada, crie um app. ㅤ

  2. O projeto está quase completamente configurado, exceto pelas chaves de API que serão necessárias e que deverão estar corretamente configuradas dentro de /credentials/. Para ver as instruções detalhadas para consegui-las, acesse este arquivo.

Uso

Após tudo devidamente configurado, basta executar o arquivo de entrada do projeto.

node index.js

Contribuindo

Contribuições são o que tornam a comunidade open-source um ambiente incrível para aprender, se inspirar e criar. Qualquer contribuição que você fizer será enormemente apreciada.

  1. Crie um fork do Projeto
  2. Crie uma nova branch (git checkout -b feature/recursoIncrivel)
  3. Faça o commit das suas alterações (git add . e git commit -m 'Adicionando este incrível recurso.')
  4. Envie para o seu Github (git push origin feature/recursoIncrivel)
  5. Abra um Pull Request detalhando ao máximo o que você implementou, os problemas que ainda precisam ser resolvidos e o que mais julgar necessário.
  6. Pronto! Você está contribuindo com o mundo open-source.

Licença

Distribuido sob Licensa MIT. Veja LICENSE para mais informações.

Contato

Heliton Martins - @hellmrf - [email protected]

Link do projeto: https://github.com/hellmrf/Tweemol/

tweemol's People

Contributors

dependabot[bot] avatar hellmrf avatar

Stargazers

 avatar  avatar

Watchers

 avatar

tweemol's Issues

Escopo e tarefas

A seguir estão as tarefas a serem completadas.

  • Receber moléculas
    • Definir origem dos dados

  • Pesquisar na Wikipédia

    • Verificar se página existe
    • Extrair resumo
    • Extrair propriedades
    • Extrair SMILES
    • Extrair imagem, se disponível
    • Sanitizar dados
  • Preparar Texto

    • Verificar tamanho do resumo
      • Resumir usando IA se for muito grande
    • Organizar as propriedades
  • Criar imagem

    • Verificar imagem da Wikipédia, se disponível
    • Desenhar molécula via SMILES, se possível
      • Encontrar a API ideal
      • Gerar imagem
      • Subir para imgur
    • Pesquisar imagem no Google Images, caso as duas etapas acima falhem
    • Baixar imagem escolhida
    • Converter imagem para PNG
    • Limpar diretório temporário após conclusão.
  • Publicar no Twitter

    • Gerar chaves de API
    • Escrever Tweet
    • Adicionar link
    • Adicionar imagem
  • Hospedar Online

    • Verificar conta Heroku
    • Instalar complemento de agendamento
    • Agendar as execuções do script
  • Gerais

    • Caso algum erro seja lançado, tentar novamente até conseguir.
  • TESTE FINAL

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.