← Retour à la marketplace
🗓️

Planning

Calendrier collaboratif, planification des ressources humaines et suivi des tâches.

PlanningMoyen~8 joursv1.1.0

Module de planning avec vue calendrier (jour/semaine/mois), gestion des événements, affectation de ressources humaines, gestion des congés et absences, et export iCal.

calendarplanningscheduleeventsteam

Dépendances requises :

📋 Schéma Prisma

// === Module Planning ===

enum EventStatus {
  SCHEDULED
  IN_PROGRESS
  COMPLETED
  CANCELLED
}

model CalendarEvent {
  id          String      @id @default(cuid())
  title       String
  description String?
  startsAt    DateTime
  endsAt      DateTime
  allDay      Boolean     @default(false)
  status      EventStatus @default(SCHEDULED)
  color       String?
  location    String?
  createdAt   DateTime    @default(now())
  updatedAt   DateTime    @updatedAt
  attendees   EventAttendee[]

  @@map("calendar_events")
}

model EventAttendee {
  id      String        @id @default(cuid())
  eventId String
  event   CalendarEvent @relation(fields: [eventId], references: [id], onDelete: Cascade)
  userId  String
  accepted Boolean?

  @@unique([eventId, userId])
  @@map("event_attendees")
}

model Absence {
  id        String   @id @default(cuid())
  userId    String
  type      String   // conge, maladie, formation
  startsAt  DateTime
  endsAt    DateTime
  approved  Boolean  @default(false)
  reason    String?
  createdAt DateTime @default(now())

  @@map("absences")
}

🔌 Endpoints API

## API Planning

GET  /api/events?from=&to=      # Événements entre deux dates
POST /api/events                 # Créer
PUT  /api/events/:id             # Modifier
DELETE /api/events/:id           # Supprimer
POST /api/events/:id/attendees   # Ajouter participant

GET  /api/absences               # Liste des absences
POST /api/absences               # Demander une absence
PUT  /api/absences/:id/approve   # Approuver (manager)
GET  /api/planning/export.ics    # Export iCal

🛠️ Guide d'implémentation

## Implémentation Planning

### Dépendances
```bash
npm install ical-generator  # Pour export iCal
```

### Étape 1 — Modèles Prisma
Intégrer les modèles CalendarEvent, EventAttendee, Absence.

### Étape 2 — API calendrier
Routes CRUD avec filtrage par plage de dates (index sur startsAt/endsAt).

### Étape 3 — UI calendrier
Utiliser FullCalendar (licence open-source MIT disponible) ou une vue custom.

### Étape 4 — Export iCal
Générer un flux iCal pour import dans Google Calendar, Outlook, etc.

Prêt à installer ce module ?

Ajoutez-le à un projet existant depuis la page modules du projet.

Voir les projets →