CouncilDataProject / CouncilDataProject/cdp-backend

Dynamically Generate TypeScript DB Models, Transcript Model, and other Constants

Abierto
#167 15 comentarios 1 reacción 0 asignados Ver en GitHub
enhancement good first issue help wanted infrastructure
Lenguaje dominante
Python
Estrellas
25
Forks
28
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## Idea / Feature

Dynamically generate TypeScript object definitions from `cdp-backend` Python DB models.

## Use Case / User Story

As a developer I want to be able to add, remove, or update a database model in a single location rather than multiple.

## Solution

Add a script to `cdp-backend` that when ran will generate a TypeScript package of the database models + extras that we can push to npm on new version push.

## Alternatives

## Stakeholders

Backend maintainers
Frontend maintainers

## Major Components

* [ ] Database models TypeScript generation
* [ ] Transcript File Model TypeScript generation
* [ ] Database "ModelField" Python and TypeScript generation
* [ ] Database constants TypeScript generation
* [ ] script added as bin script to `cdp-backend`
* [ ] task added to CI building and testing that attempts to generate these models on PR push / main build
* [ ] task added to CI main building / publish job that pushes the generated TypeScript package dir to npm

## Dependencies

## Other Notes

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

No se nombran archivos ni pruebas específicos. Empieza por localizar los modelos de base de datos de Python, los puntos de entrada de bin-script de cdp-backend y los trabajos de compilación y publicación de CI; se considera terminado cuando los modelos y las constantes de TypeScript generados se prueban en las compilaciones y el paquete se publica según lo especificado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python, typescript
Área
backend, build-system, ci-cd, databases, release
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.