Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigar notion's api para mejor imple de la app de notas #40

Open
julitaras opened this issue Apr 4, 2022 · 7 comments
Open

Investigar notion's api para mejor imple de la app de notas #40

julitaras opened this issue Apr 4, 2022 · 7 comments
Assignees

Comments

@julitaras
Copy link
Collaborator

Tengo entendido que @mrti259 estuvo jugando un poco con las apis de notion.

La idea seria poder implementar la pegadas a esas apis para poder plasmar las correcciones en notion y que la app de notas directamente tome las devoluciones desde ahi.

https://developers.notion.com/

@julitaras julitaras changed the title Investigar notion Investigar notion's api para mejor imple de la app de notas Apr 4, 2022
@mrti259
Copy link
Member

mrti259 commented Apr 5, 2022

Hola! Estoy probando cómo sería devolver el contenido de una página y no es posible obtenerlo como markdown porque lo trae como "bloques". Estoy usando este endpoint

Lo que creo que podríamos hacer es crear una vista con un <textarea> que muestre dinámicamente cómo se va generando el html con marked y al guardar lo suba a la planilla

@julitaras
Copy link
Collaborator Author

Gracias, Borja!

@josuebouchard probablemente sirva esta data :)

@josuebouchard
Copy link
Collaborator

Buenas! Primero, gracias por la ayuda @mrti259!

TL; DR

Dejo todas las puertas abiertas con respecto a como y en que lenguaje implementar el bot. Si ayuda a la colaboracion, la idea es bienvenida.
Con respecto a Notion, las bases de datos serian una de las prioridades, ya que permitirian estructurar mejor las correcciones, tanto para lo correctores como para el bot.


Si bien la data la trae en bloques, no existen tantos tipos, y estan bien documentados en este link. A partir de ahi podriamos construir un parser de un subconjunto de bloques (hay que recordar que no todas las cosas se transfieren a un mail tan sencillamente, imagenes entre ellas) y podria funcionar.

Una de las funcionalidades que mas me intereza en este tiempo es ver la posibilidad de las bases de datos. Creo que estaria genial el poder desvincular el bot de algo con tan pocos constrains como es el spreadsheet y vincularlo a algo con mas estructura.

Otra pregunta que abro acá es si se implementara el bot en typescript, si seria mas sencilla la colaboracion. Es una opcion que no descarto, ya que si usaramos la api de notion, solo quedaria reimplementar el SMTP, algo que tomaria un par de dias, pero no lo veo como una dificultad imposible.

@mrti259
Copy link
Member

mrti259 commented Apr 5, 2022

Yo estuve usando la api como base de datos para un bot de telegram. Oculté los repos porque no me gustaba el funcionamiento del bot más que por tener problemas con Notion. Usé request para pegarle a la api, y después probé notion_client

@mrti259
Copy link
Member

mrti259 commented Apr 6, 2022

Sumo para investigar https://github.com/NotionX/react-notion-x

@josuebouchard
Copy link
Collaborator

Interesante lo de notion_client. Ahi estuve jugando un poco y dado una "base de datos" con paginas, se puede extraer el contenido de cada pagina como un json.
Por lo que voy viendo hay como tres caminos posibles que podriamos tomar desde aca:

  1. Utilizar notion_client para obtener el json de la "base de datos" y armar un conversor de ese json a html. Esto nos daria mas flexibilidad para hacer algo que sea valido para mails, pero implicaria una cantidad no despreciable de tiempo en implementar.

  2. Convertir la app a typescript e implementar algo como nextjs o remix y utilizar react-notion-x. En ese caso el parseo y la obtencion de notion ya estarian hechos, habria que reconstruir el resto de la funcionalidad de la app (envio de emails, conexion al spreadsheet, etc...). Lo de conexion al spreadsheet tenia unas pruebas hechas, aunque no con nextjs.
    Algo bueno de este aproach, es que ya quedarian las bases para hacer la parte publica de los estudiantes con react.

  3. El enfoque hibrido: buscar si es posible que la app de notas (escrita en python) pueda llamar a react-notion-x (escrito en typescript/react) para que genere el html y usarlo para enviar los mails.

@julitaras
Copy link
Collaborator Author

Me parece bueno "migrar" a otra app para utilizar otro lenguaje y que sea mas factible integrarnos con notion, de todos modos, esto es algo que nos va a llevar bastante tiempo. Lo bueno, es que lo podemos manejar como querramos y hacer tests y demas desde 0. Creo que en parte ibamos a terminar haciendo esto, no se porque le tengo medio idea de que es un monolito 😆 , se que avanzo mucho desde que la agarramos.

Por otro lado, no se que tan mal esta esta hacer "microservicios" y tener otra api para el consumo de la base de datos (Algo asi como un cliente de la base). Hacer algunos endpoints y manejarlo en nuestra actual app el resto de las cosas. Quizas este camino sea mas rapido.

@mrti259 mrti259 self-assigned this Aug 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants