Skip to content

novaenebulae/timemanager

Repository files navigation

⏳ Time Manager

Build Status Coverage

Time Manager est une application web de gestion du temps de travail. Elle permet aux employés de pointer, aux managers de suivre les équipes via des tableaux de bord, et aux administrateurs de gérer la structure de l'entreprise.

🚀 Fonctionnalités

  • Pointage (Clock-in/out) : Enregistrement précis des heures d'arrivée et de départ.
  • Working Times : Gestion des plages horaires travaillées.
  • Dashboard & Graphiques : Visualisation des données (heures supplémentaires, présence).
  • Gestion des Utilisateurs : Rôles (Admin, Manager, Employee) et hiérarchie.
  • Authentification : Sécurisée via JWT.

🛠️ Stack Technique Rapide

  • Backend : Java 21, Spring Boot 3.5.6
  • Frontend : Angular 21 Node 22
  • Data : PostgreSQL 16 (Prod), H2 (Test)
  • DevOps : Docker, AWS EC2, GitHub Actions

⚙️ Prérequis

Pour faire tourner le projet localement, assurez-vous d'avoir :

  • Java 21 (JDK)
  • Node.js 22
  • Docker & Docker Compose

💻 Installation & Démarrage Local

1. Cloner le dépôt

git clone https://github.com/n0kes/T-DEV-700-project-NCY_7.git
cd T-DEV-700-project-NCY_7

2. Lancer les services (Base de données)

Nous utilisons un fichier compose dédié au développement local.

docker compose -f docker-compose.dev.yml up -d

3. Démarrer le Backend (API)

Le backend est configuré pour se connecter automatiquement à la base de données Docker locale.

cd time-manager-backend
./mvnw spring-boot:run
  • API URL : http://localhost:8080/api
  • Swagger UI : http://localhost:8080/swagger-ui.html

4. Démarrer le Frontend (Web App)

cd time-manager-frontend
npm install
npm run dev
  • App URL : http://localhost:5173

Lancer les tests (Backend)

cd time-manager-backend
./mvnw clean test

Vérifier le style du code (Linter)

Nous utilisons Spotless et Checkstyle pour garantir la qualité du code Java.

./mvnw spotless:check checkstyle:check

Le badge de couverture de code (Coverage) est mis à jour automatiquement sur le README via GitHub Actions après chaque push.

📦 Déploiement

Le déploiement est automatisé via GitHub Actions (.github/workflows/deploy.yml).

  • Push sur main déclenche le workflow
  • Lint & Tests : Vérification de la qualité du code et exécution des tests unitaires
  • Build & Push : Création de l'image Docker optimisée et envoi sur Docker Hub
  • Deploy : Mise à jour automatique des conteneurs sur l'instance AWS EC2 via SSH

Auteurs : Team 7 T-DEV-700 EOF

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors