No description
  • Python 95.8%
  • Vue 2.9%
  • TypeScript 1.3%
Find a file
Phost 1579e5c875
Some checks are pending
Monorepo Kapteva CI/CD / build (push) Blocked by required conditions
Monorepo Kapteva CI/CD / package-backend (push) Blocked by required conditions
Monorepo Kapteva CI/CD / package-frontend (push) Blocked by required conditions
Monorepo Kapteva CI/CD / deploy-preprod (push) Blocked by required conditions
Monorepo Kapteva CI/CD / deploy-prod (push) Blocked by required conditions
Monorepo Kapteva CI/CD / 🔍 Vérifier les variables d'environnement (push) Successful in 2s
Monorepo Kapteva CI/CD / test (push) Has started running
Add environment variable validation step to CI pipeline
2026-03-16 15:13:31 +01:00
.forgejo/workflows Add environment variable validation step to CI pipeline 2026-03-16 15:13:31 +01:00
apps Refactor pipeline.yml with improved naming and localization 2026-03-16 14:49:47 +01:00
configs Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
docs Initial commit 2026-03-13 11:06:14 +01:00
presentation Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
tests/backend Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
.env.example Remove core modules and data handling implementations 2026-03-16 12:17:50 +01:00
.gitignore Initial commit 2026-03-13 11:06:14 +01:00
.gitlab-ci.yml Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
.gitmodules Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
Caddyfile Initial commit 2026-03-13 11:06:14 +01:00
docker-compose.prod.yml Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
docker-compose.yml Initial commit 2026-03-13 11:06:14 +01:00
nx.json Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
package-lock.json Initial commit 2026-03-13 11:06:14 +01:00
package.json Initial commit 2026-03-13 11:06:14 +01:00
README.md Chore: update submodules, configurations, and CI/CD 2026-03-13 14:08:43 +01:00
tsconfig.json Initial commit 2026-03-13 11:06:14 +01:00

Monorepo Kapteva

Ce dépôt est un monorepo géré avec Nx, regroupant le backend FastAPI (Litestar) et le frontend (Plugin Grafana).

📂 Structure du Projet

  • apps/backend/ : API backend en Python (Litestar) - [Sous-module Git].
  • apps/frontend/ : Plugin Grafana en TypeScript (React) - [Sous-module Git].
  • presentation/ : Support de présentation Slidev.
  • docs/ : Documentation centralisée et organisée.
  • tests/ : Tests centralisés (notamment pour le backend).
  • configs/ : Fichiers de configuration de projet pour Nx.

🚀 Initialisation du projet

Après avoir cloné le monorepo, vous devez initialiser les sous-modules :

git submodule update --init --recursive
npm install

📖 Documentation

La documentation a été centralisée et organisée pour faciliter l'accès aux différentes thématiques du projet :

🎡 CI/CD (GitLab)

Le projet utilise un pipeline GitLab CI/CD unifié à la racine gérant les sous-modules récursivement :

  • Test : Validation de l'ensemble du monorepo via Nx (incluant tests/backend).
  • Build : Compilation du frontend et génération des artefacts (incluant le backend).
  • Package : Création d'images Docker (déclenché par $CI_COMMIT_TAG).
  • Deploy Preprod : Déploiement automatique sur preprod-front.$DOMAIN_NAME (déclenché par $CI_COMMIT_TAG).
  • Deploy Prod : Déploiement manuel sur grafana.$DOMAIN_NAME (déclenché par $CI_COMMIT_TAG).

Variables requises (GitLab CI/CD Variables)

Consultez le fichier .env.example pour la liste exhaustive des variables et leur niveau de sécurité recommandé.

  • SSH_PRIVATE_KEY : Clé SSH pour accéder au VPS (Niveau : Critique).

Prérequis

  • Node.js (v22+)
  • Docker et Docker Compose

Installation

npm install

Utilisation avec Nx (Orchestration)

Commande Action
npm run dev Lance tout le monorepo en mode dev
npm run build Compile tous les projets
npm run test Exécute tous les tests
npm run presentation Lance le support de présentation Slidev

Utilisation avec Docker (Recommandé)

docker compose up --build

Cela lancera :

  • Le backend sur http://localhost:8000
  • Grafana sur http://localhost:3000 (Plugin pré-installé)