Skip to content

khalilbenaz/TeamScheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📅 TeamScheduler

Application de gestion de planning, présence et ressources d'équipe

CI .NET Blazor License: MIT

Application Blazor Server pour la gestion collaborative des plannings, présences, congés, compétences, clients, projets et analytics d'une équipe ou d'une organisation.

Quick Start · Pages · Architecture


Fonctionnalités

📅 Planning & Présence

  • Planning visuel par équipe et par employé
  • Suivi de présence en temps réel
  • Rotation automatique des affectations
  • Calendrier interactif avec drag & drop

👥 Équipes & Employés

  • Gestion des équipes et membres
  • Fiches employés avec compétences
  • Affectation équipes ↔ clients ↔ projets
  • Cards visuelles par employé

🏢 Clients & Projets

  • Référentiel clients avec détails
  • Gestion de projets et affectations
  • Suivi des missions par équipe

🏖️ Congés & Absences

  • Demandes de congés avec workflow
  • Soldes et historique
  • Vue calendrier des absences

🧠 Compétences

  • Matrice de compétences par employé
  • Niveaux et certifications
  • Matching compétences ↔ projets

📊 Analytics & Reporting

  • Dashboard avec KPIs
  • Graphiques interactifs (présence, charge, compétences)
  • Rapports exportables (PDF, Excel)
  • Analytics avancées

⚙️ Administration

  • Paramètres utilisateur personnalisables
  • Import de données (upload)
  • Configuration du planning
  • Notifications en temps réel (toasts)

📱 Pages

Page Description
Dashboard Vue d'ensemble, KPIs, activité récente
Planning Planning visuel global
TeamPlanning Planning par équipe
Calendar Calendrier interactif
Teams Gestion des équipes
TeamDetails Détail d'une équipe
Employes Liste et fiches employés
Clients Référentiel clients
ClientDetails Détail client
Projets Gestion de projets
Conges Congés et absences
Competences Matrice de compétences
Rotation Rotation des affectations
Analytics Analytics avancées
Reports Rapports et export
Export Export PDF/Excel
Upload Import de données
Admin Administration
Settings Paramètres utilisateur

🏗️ Architecture

Clean Architecture avec séparation Domain / Application / Infrastructure :

TeamScheduler/
├── Core/                         # 🧠 Domain Layer
│   ├── Entities/                 # Employee, Team, Client, Project, Presence...
│   ├── Enums/                    # Status, types, niveaux
│   └── Interfaces/               # Contrats repositories
│
├── Application/                  # ⚙️ Application Layer
│   ├── DTOs/                     # Data Transfer Objects
│   └── Services/                 # TeamService
│
├── Infrastructure/               # 🔧 Infrastructure Layer
│   └── Repositories/             # EF Core implementations
│
├── Data/                         # 💾 Data Access
│   ├── PlanningDbContext          # EF Core DbContext
│   ├── Configurations             # Fluent API
│   └── SeedTestData               # Données de test
│
├── Services/                     # 🔌 Business Services
│   ├── PlanningService            # Logique planning
│   ├── SchedulerService           # Planification automatique
│   ├── TeamPlanningService        # Planning par équipe
│   ├── ReportService              # Génération rapports
│   ├── ExportService              # Export PDF/Excel
│   ├── NotificationService        # Alertes temps réel
│   └── ToastService               # Notifications UI
│
├── Pages/                        # 📱 21 pages Blazor
├── Shared/                       # 🧩 Composants partagés
│   ├── MainLayout
│   ├── EmployeeCard
│   ├── ChartComponents
│   ├── AdminNotifications
│   └── Modals/
│
├── Web/                          # 🌐 Composants avancés
│   ├── Components/
│   └── Pages/
│
├── Tests/                        # ✅ Tests unitaires
│   └── Unit/TeamServiceTests
│
└── Migrations/                   # 📦 EF Core Migrations

Stack

Composant Technologie
Framework .NET 8 Blazor Server
UI Bootstrap + composants custom
Database SQLite (dev)
ORM Entity Framework Core
Charts Composants Blazor interactifs
Export PDF + Excel
Tests xUnit
Container Docker
CI/CD GitHub Actions

🚀 Quick Start

Docker

docker-compose up --build

http://localhost:5000

Manuel

dotnet restore
dotnet run

Tests

dotnet test

Entités

Entité Description
Employee Nom, compétences, équipe, présence
Team Nom, membres, clients assignés, projets
Client Référentiel client, contacts
Project Projets avec équipes assignées
PresenceRecord Pointage quotidien
TeamClientAssignment Affectation équipe ↔ client
TeamProjectAssignment Affectation équipe ↔ projet
UserSettings Préférences utilisateur

Licence

MIT — Khalil Benazzouz

About

📅 TeamScheduler — Gestion de planning, présence et ressources. 21 pages, Blazor Server, Clean Architecture, analytics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages