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

Lightcurve Service Multistream #178

Open
17 of 22 tasks
dirodriguezm opened this issue Sep 15, 2023 · 0 comments
Open
17 of 22 tasks

Lightcurve Service Multistream #178

dirodriguezm opened this issue Sep 15, 2023 · 0 comments
Assignees

Comments

@dirodriguezm
Copy link
Contributor

dirodriguezm commented Sep 15, 2023

Descripción

La idea de este servicio es proveer acceso a la curva de luz tanto de ZTF como de ATLAS. Existen dos componentes para este servicio: el componente REST que responde en JSON y un componente HTML que retorna HTML.

Historias de usuario

  1. Como astrónom@ con acceso a ATLAS, quiero acceder a la curva de luz de ZTF y ATLAS usando un object id de ZTF
  2. Como astrónom@ con acceso a ATLAS, quiero acceder a la curva de luz de ZTF y ATLAS usando un object id de ATLAS
  3. Como astrónom@ con acceso a ATLAS, quiero acceder a la curva de luz de ZTF y ATLAS usando un object id de ALeRCE
  4. Como astrónom@ con acceso a ATLAS, quiero acceder a la curva de luz de ATLAS usando un object id de ATLAS
  5. Como astrónom@ con acceso a ATLAS, quiero acceder a la curva de luz de ATLAS usando un object id de ALeRCE
  6. Como astrónom@ sin acceso a ATLAS, quiero acceder a la curva de luz de ZTF usando un object id de ZTF
  7. Como astrónom@ sin acceso a ATLAS, quiero acceder a la curva de luz de ZTF usando un object id de ALeRCE

Componente REST

Esta es la interfaz típica para acceso programático. Diferentes clientes HTTP se van a conectar a estos endpoints para acceder a la curva de luz, detecciones y no detecciones.

La respuesta debe ser siempre JSON y los endpoints deben recibir parámetros para object id y para survey id.

Componente HTML

La clave de este componente es el uso de HTMX. Las aplicaciones web (Explorer, Hunter, etc) se conectan a estos endpoints para recibir HTML (y javascript cuando corresponda) mediante HTMX.

Caso de ejemplo: El layout en el explorer comienza con un div vacío que tiene un atributo de HTMX indicando que gatille una request cuando el div carga en el navegador. HTMX entonces realiza una request al endpoint /plot/ZTF20aaelulu?plot=apparent y este retorna HTML + JS con el gráfico que incluye un botón que a su vez posee un atributo HTMX para realizar una request mediante HTMX a un endpoint /plot/ZTF20aaelulu?plot=folded. De esta forma obtenemos la interactividad de una SPA pero con la simpleza de una aplicación SSR.

Image

Stack para componente HTML

La idea es no diverger tanto de lo que ya estábamos usando, pero simplificando el stack donde se pueda. La propuesta es la siguiente:

  • ECharts JS para gráficos
  • HTML puro y TailwindCSS para botones, radio buttons, etc
  • HTMX para "interactividad"

Tasks

Preview Give feedback
  1. ASHuenchuleo HectorxH
    pgallardor
  2. ASHuenchuleo HectorxH
  3. HectorxH
  4. ASHuenchuleo
  5. AlxEnashi
  6. HectorxH
  7. HectorxH
  8. HectorxH
  9. HectorxH
  10. dirodriguezm
  11. HectorxH
  12. ASHuenchuleo
  13. dirodriguezm
  14. 0 of 1
    edipizarro
  15. bug
    ASHuenchuleo HectorxH
  16. dirodriguezm
  17. bug
    dirodriguezm
  18. bug
    dirodriguezm
  19. dirodriguezm
  20. dirodriguezm
  21. 3 of 3
    bug
    AlxEnashi dirodriguezm
@dirodriguezm dirodriguezm converted this from a draft issue Sep 15, 2023
@dirodriguezm dirodriguezm moved this from 🆕 New to 🏗 In progress in ALeRCE Project Oct 12, 2023
@dirodriguezm dirodriguezm moved this from 🏗 In progress to ⏸ Paused in ALeRCE Project Dec 27, 2023
@dirodriguezm dirodriguezm moved this from ⏸ Paused to 🏗 In progress in ALeRCE Project Mar 14, 2024
@dirodriguezm dirodriguezm self-assigned this Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

No branches or pull requests

3 participants