Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mborne/tp-graph-ts
[ENSG] TP de refactoring sur le calcul de plus court chemin dans un graphe en TypeScript
https://github.com/mborne/tp-graph-ts
Last synced: about 1 month ago
JSON representation
[ENSG] TP de refactoring sur le calcul de plus court chemin dans un graphe en TypeScript
- Host: GitHub
- URL: https://github.com/mborne/tp-graph-ts
- Owner: mborne
- License: mit
- Created: 2024-09-21T11:18:02.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-13T23:33:21.000Z (about 2 months ago)
- Last Synced: 2024-11-14T00:18:02.946Z (about 2 months ago)
- Language: TypeScript
- Size: 1.81 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tp-graph-ts
## Description
Ce dépôt correspond au projet de départ pour le TP de refactoring sur les graphes du [cours sur les patrons de conception](https://github.com/mborne/cours-patron-conception#readme) donné à l'ENSG.
Le code est volontairement truffé d'erreurs de conception, l'idée du TP est d'y remédier progressivement.
## Pré-requis
* NodeJS >= 20 avec npm
## Utilisation
Après avoir forké et cloner le dépôt :
```bash
# installation des dépendances
npm install
# contrôle des types
npm run build
# exécution des tests
npm run test
# démarrer l'API et le démonstrateur
npm run start
```## Organisation du dépôt
Le dossier `src/model/` contient la modélisation des données avec :
* [src/model/Graph.ts](src/model/Graph.ts)
* [src/model/Edge.ts](src/model/Edge.ts)
* [src/model/Vertex.ts](src/model/Vertex.ts)Le dossier `src/routing` contient les éléments relatifs au calcul de plus court chemin :
* [src/routing/RoutingService.ts](src/routing/RoutingService.ts)
## Organisation des tests
Les tests fonctionnels sont mis à disposition dans le dossier `test/` avec [test/helpers.ts](test/helpers.ts) permettant de créer des jeux tests :
![docs/sample-graph-01.drawio.png](docs/sample-graph-01.drawio.png)
Vous trouverez en particulier :
* [test/model/Graph.spec.ts](test/model/Graph.spec.ts) pour les tests de base sur [src/model/Graph.ts](src/model/Graph.ts)
* [test/routing/RoutingService.spec.ts](test/routing/RoutingService.spec.ts) pour les [src/routing/RoutingService.ts](src/routing/RoutingService.ts)## Mises en garde
* Il est vivement conseillé d'**exécuter les tests à chaque étape en les adaptant au besoin**.
* La **correction du TP se fera sur la branche principale de votre fork**.
* La moulinette de pré-correction ne pardonnera pas un échec d'exécution des tests.
* Il est donc vivement conseillé de **travailler avec des branches** (0.1, 0.2, 0.3,...)
* Le TP était précédemment traité en Java (https://github.com/mborne/tp-refactoring-graph), l'adaptation est en cours pour TypeScript.## Licence
[MIT](LICENSE)