jesustorresdev / slack-badges-bot

2 stars 1 forks source link

Maneja solicitudes para crear un badge #1

Closed mbdaso closed 5 years ago

mbdaso commented 5 years ago

Pensé en varias opciones para crear un badge, el problema era cómo enviar la imagen. Al final he optado por mandarlo todo en un solo json, metiendo la imagen como un string codificado en base64 que luego decodifico en el servidor. Para hacer todo eso creé un script que usa el módulo click de python: https://github.com/alu0100832211/badge-cli

También he escrito cosas en la wiki de github pero es más complicado hacer pull request de eso. Aqui explico los detalles de crear una medalla: https://github.com/alu0100832211/slack-badges-bot/wiki/Creaci%C3%B3n-de-una-medalla

jesustorresdev commented 5 years ago

Voy a ir poniendo algunos consejos. Algunos son como issues porque no son cosas urgentes. Solo tomar nota por si hay tiempo o no cuesta mucho. Y para ir aprendiendo buenas prácticas.

Pensé en varias opciones para crear un badge, el problema era cómo enviar la imagen. Al final he optado por mandarlo todo en un solo json, metiendo la imagen como un string codificado en base64 que luego decodifico en el servidor.

Buena decisión. Solo se me ocurre mejorarlo usando Data URLs. Mira #2

Para hacer todo eso creé un script que usa el módulo click de python: https://github.com/alu0100832211/badge-cli

Estupendo. Algunos consejos:

  1. Sigue una estructura de directorios similar a la de este proyecto. Por ejemplo, poner el código en badges-cli/badges_cli. Y en badges-cli el .gitignore, README.md Pipfile, etc. Es la estructura recomendada en python.

  2. Separa la interfaz cli del código cliente. Por ejemplo, crear un paquete client.badges dentro del proyecto y allí pones la función create, que sabe pedir badges al API. Luego el badges-cli importa client.badges y lo único que tiene que hacer es llamar a create. Piensa en capas. badges-cli es la capa de usuario. client.badges es como la capa de usuario se comunica con el servidor por medio del API.

También he escrito cosas en la wiki de github pero es más complicado hacer pull request de eso. Aqui explico los detalles de crear una medalla: https://github.com/alu0100832211/slack-badges-bot/wiki/Creaci%C3%B3n-de-una-medalla

Perfecto. La incidencia #3 está relacionada con algo que pones ahí como TODO.

mbdaso commented 5 years ago

resolves #3