CouncilDataProject / CouncilDataProject/cdp-backend

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

Ouverte
#167 15 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
enhancement good first issue help wanted infrastructure
Langage dominant
Python
Étoiles
25
Forks
28
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## 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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier ni test spécifique n’est indiqué. Commencez par localiser les modèles de base de données Python, les points d’entrée bin-script de cdp-backend ainsi que les jobs de build et de publication de CI ; le travail est terminé lorsque les modèles et constantes TypeScript générés sont testés lors des builds et que le package est publié comme indiqué.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, typescript
Domaine
backend, build-system, ci-cd, databases, release
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.