8000 GitHub - Rhapsodiew/IntervenGo: Web app: Schedule interventions (assign a technician, location, etc...), Dynamic form (update the intervention, add photo / signature, status), Dashboard, Generate pdf when intervention is completed.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Web app: Schedule interventions (assign a technician, location, etc...), Dynamic form (update the intervention, add photo / signature, status), Dashboard, Generate pdf when intervention is completed.

License

Notifications You must be signed in to change notification settings

Rhapsodiew/IntervenGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Projet Intervengo - Génération de Rapports PDF

Introduction

Ce projet a pour objectif de générer un rapport PDF à la fin d’une intervention réalisée pour Notre Entreprise. Planifier les interventions. Enregistrer une intervention en cours. Gérer l’historique des interventions. Générer un rapport PDF à la fin d’une intervention réalisée pour Notre Entreprise. Initialement, la consigne était de générer un récapitulatif soit en PDF, soit par email.En raison de difficultés techniques sur l’envoi d’email, nous avons opté pour la génération de rapports PDF.

Technologies Utilisées

  • Backend : NestJS pour la gestion de la logique métier et des API CRUD.
  • Frontend : React.js pour la création de l’interface utilisateur.
  • Base de données : PostgreSQL pour le stockage des données.
  • Tests : Postman pour tester les requêtes CRUD.
  • Généraion de PDF : PDFKit et pdfkit-table pour créer des rapports PDF.

Répartition des Tâches

  • Frontend : Theo se charge de l’interface utilisateur en React.js.
  • Backend : Meriam s’occupe des API, de la logique métier et de l’intégration avec PostgreSQL via NestJS.
  • Génération des Rapports PDF : Matteo intègre PDFKit pour créer et personnaliser les rapports PDF.

Installation et Commandes Utilisées

Pour installer les packages nécessaires au projet, exécutez les commandes suivantes :

npm i --save @nestjs/config
npm install --save @nestjs/typeorm typeorm pg
npm i --save class-validator class-transformer
npm install pdfkit

Schéma de la Base de Données

Les tables créées dans la base de données sont les suivantes :

CREATE TABLE Intervention (
    id SERIAL PRIMARY KEY,
    location VARCHAR(100),
    task_to_do VARCHAR(150),
    task_status VARCHAR(150),
    birthday VARCHAR(50),
    picture VARCHAR(100),
    signature VARCHAR(100)
);

CREATE TABLE Intervenants (
    id SERIAL PRIMARY KEY,
    location VARCHAR(100),
    email VARCHAR(50) UNIQUE NOT NULL,
    date_inscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    name VARCHAR(100)
);

CREATE TABLE Intervention_Intervenants (
    intervenant_id INT REFERENCES Intervenants(id),
    intervention_id INT REFERENCES Intervention(id),
    PRIMARY KEY (intervenant_id, intervention_id)
);

Déploiement pour un utilisateur externe

Assurez-vous d'avoir Node.js, PostgreSQL et NestJS installés. Clonez le dépôt :

git clone <URL_DU_REPO>
cd <NOM_DU_PROJET>

Installez les dépendances :

npm install

Configurez la base de données dans le fichier .env :

DATABASE_HOST=localhost
DATABASE_USER=postgres
DATABASE_PASSWORD=motdepasse
DATABASE_NAME=nom_de_la_base

Lancer l'application :

npm run start

Contribution

Les contributions externes sont autorisées. Merci d’ouvrir une issue avant toute modification.

Licence

Ce projet est sous licence Apache. Consultez le fichier LICENSE pour plus d’informations.

About

Web app: Schedule interventions (assign a technician, location, etc...), Dynamic form (update the intervention, add photo / signature, status), Dashboard, Generate pdf when intervention is completed.

Resources

License

Stars

Watchers

Forks

0