Skip to content

InstaZDLL/TPI-Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
TPI Flow

TypeScript Bun React Vite PostgreSQL Docker

Application full-stack multi-utilisateurs pour piloter un TPI CFC Informaticien de bout en bout : planification, suivi, documentation, analyse de risques et export complet du projet.


Pourquoi TPI Flow

TPI Flow centralise dans une seule application les besoins les plus chronophages d'un TPI : structuration du planning, suivi journalier, préparation de la documentation, gestion des risques, import des documents officiels et sauvegarde complète du projet.

Le dépôt contient un monorepo Bun avec un frontend React 19, une API Express 5, PostgreSQL via Drizzle ORM, l'authentification par email ou Google OAuth, et un contrat OpenAPI utilisé pour générer les clients TypeScript.

Points forts

  • Diagramme de Gantt interactif avec création par glisser-déposer, dépendances, baselines et exports.
  • Tableau Kanban avec filtres avancés, priorités, dépendances et export PDF.
  • Journal de travail structuré avec pièces jointes, export JSON et PDF horodaté RFC 3161.
  • Analyse de risques avec matrice interactive, KPIs et export PDF ou Excel.
  • Dossier de projet TipTap avec sections prédéfinies pour le rapport TPI.
  • Import du cahier des charges, import CSV GanttProject et import des critères d'évaluation.
  • Export et restauration complète du projet au format .tpi.json.
  • Authentification sécurisée par cookie HTTP-only et isolation stricte des données par utilisateur.

Prérequis

Outil Version
Bun >= 1.0
Docker >= 20.0
Docker Compose >= 2.0

Démarrage rapide

# 1. Installer les dépendances
bun install

# 2. Configurer l'environnement
cp .env.example .env

# 3. Rendre le fichier .env visible pour l'API
ln -s ../../.env apps/api/.env

# 4. Démarrer PostgreSQL et appliquer le schéma
docker compose up -d
bun run db:push

# 5. Charger les données de base puis lancer l'application
bun run db:seed
bun run dev

Application en local :

  • Frontend : http://localhost:5173
  • API : http://localhost:3001

Pour charger directement des données de démonstration :

bun run db:seed-sample

Commandes essentielles

Commande Description
bun run dev Lance le frontend et l'API en mode développement
bun run dev:web Lance uniquement le frontend
bun run dev:api Lance uniquement l'API
bun run build Typecheck puis build de production
bun run lint Vérifie ESLint sur le monorepo
bun run typecheck Vérifie TypeScript sur tous les packages
bun run db:push Applique le schéma Drizzle à PostgreSQL
bun run codegen Régénère les artefacts client depuis OpenAPI

Le détail du workflow de développement est documenté dans docs/DEVELOPMENT.md.

Architecture

React 19 + Vite
        |
        | fetch /api/* + React Query
        v
Express 5 sur Bun
        |
        | Drizzle ORM + better-auth
        v
PostgreSQL 17

Le contrat API est maintenu dans packages/api-spec/openapi.yaml et les schémas de données dans packages/db/src/schema.

Documentation

Besoin Document
Organisation des endpoints docs/API.md
Modèle de données et enums métier docs/DATABASE.md
Workflow de développement docs/DEVELOPMENT.md
Guide de contribution CONTRIBUTING.md
Politique de sécurité SECURITY.md
Contexte projet et stack CLAUDE.md
Conventions du dépôt AGENTS.md

Stack technique

Couche Technologies
Runtime Bun
Frontend React 19, Vite 8, Tailwind CSS 4, Wouter
Backend Express 5
Base de données PostgreSQL 17, Drizzle ORM
Auth better-auth
Validation Zod 4
Contrat API OpenAPI 3.1, Orval
Outils UI Radix UI, Lucide, Framer Motion, TipTap

Contribution

Avant de proposer une modification, exécutez au minimum :

bun run typecheck
bun run lint

Si vous modifiez la spec OpenAPI, relancez aussi :

bun run codegen

Le guide de contribution complet est disponible dans CONTRIBUTING.md. Les conventions de structure, style et validation sont détaillées dans AGENTS.md.

Déploiement

Le dépôt inclut désormais :

  • une pipeline GitHub Actions dans .github/workflows/ci.yml ;
  • une automation de release/changelog dans .github/workflows/release-please.yml ;
  • une configuration Railway dans railway.json.

Licence

Ce projet est distribué sous licence GNU GPL v3.

Le nom TPI Flow, le logo et les éléments graphiques associés restent des éléments de marque du projet.

About

All-in-one TPI planning manager with Gantt, Kanban, journal, risk analysis, document editor, and exports.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages