# jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup architecture

> Architecture diagram of the GitHub repository jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup
- Repository: https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup

## Overview

SkillUp is a full-stack learning and career platform. A learner or other platform user enters through the Angular client, which calls backend APIs through the Spring Cloud gateway; the documented service registry and configuration server support backend services. Learning spans formations, courses, quizzes, and certifications, with events, payments, career listings, community discussion, and support as distinct capabilities. Sampled source confirms selected service-level behavior, but much of the README-listed application and service wiring was not sampled; those links are omitted where their callers cannot be established.

Main entry points: [`Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/gateway/src/main/java/esprit/tn/gateway/GatewayApplication.java`](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/gateway/src/main/java/esprit/tn/gateway/GatewayApplication.java) (API gateway), [`Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/eureka/src/main/java/tn/esprit/eureka/EurekaApplication.java`](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/eureka/src/main/java/tn/esprit/eureka/EurekaApplication.java) (Service registry), [`Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/config-server/src/main/java/tn/esprit/configserver/ConfigServerApplication.java`](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/config-server/src/main/java/tn/esprit/configserver/ConfigServerApplication.java) (Config server), [`Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Payment/src/main/java/esprit/tn/payment/Controller/PaymentController.java`](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Payment/src/main/java/esprit/tn/payment/Controller/PaymentController.java) (Payment processing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client"]
  node_angular["Angular client<br/>[auth.service.ts]"]
end

subgraph group_platform["Cloud platform"]
  node_gateway["API gateway"]
  node_eureka["Service registry"]
  node_config["Config server"]
end

subgraph group_learning["Learning services"]
  node_course["Course service"]
  node_formation["Formation service"]
  node_quiz["Quiz and gamification"]
  node_certificate["Certification"]
  node_events["Event management"]
end

subgraph group_career["Career and community"]
  node_jobs["Job offers"]
  node_internships["Internship resume parsing"]
  node_companies["Company directory"]
  node_forum["Forum and discussion<br/>[ForumRestApi.java]"]
end

subgraph group_operations["Platform services"]
  node_users["User service"]
  node_payments["Payment processing"]
  node_tickets["Support tickets"]
end

node_user(("Platform user"))
node_stripe["Stripe"]

node_user -->|"uses"| node_angular
node_angular -->|"API requests"| node_gateway
node_angular -->|"auth requests"| node_users
node_gateway -->|"routes requests"| node_course
node_gateway -->|"routes requests"| node_formation
node_gateway -->|"routes requests"| node_quiz
node_gateway -->|"routes requests"| node_certificate
node_gateway -->|"routes requests"| node_events
node_gateway -->|"routes requests"| node_payments
node_gateway -->|"routes requests"| node_jobs
node_gateway -->|"routes requests"| node_internships
node_gateway -->|"routes requests"| node_companies
node_gateway -->|"routes requests"| node_forum
node_gateway -->|"routes requests"| node_tickets
node_eureka -.->|"service registry"| node_gateway
node_eureka -.->|"service registry"| node_course
node_eureka -.->|"service registry"| node_formation
node_eureka -.->|"service registry"| node_quiz
node_eureka -.->|"service registry"| node_certificate
node_eureka -.->|"service registry"| node_events
node_eureka -.->|"service registry"| node_payments
node_eureka -.->|"service registry"| node_jobs
node_eureka -.->|"service registry"| node_internships
node_eureka -.->|"service registry"| node_companies
node_eureka -.->|"service registry"| node_forum
node_eureka -.->|"service registry"| node_tickets
node_config -.->|"provides config"| node_gateway
node_config -.->|"provides config"| node_course
node_config -.->|"provides config"| node_formation
node_config -.->|"provides config"| node_quiz
node_config -.->|"provides config"| node_certificate
node_config -.->|"provides config"| node_events
node_config -.->|"provides config"| node_payments
node_config -.->|"provides config"| node_jobs
node_config -.->|"provides config"| node_internships
node_config -.->|"provides config"| node_companies
node_config -.->|"provides config"| node_forum
node_config -.->|"provides config"| node_tickets
node_payments -.->|"payment processing"| node_stripe

click node_angular "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/skillup_front/src/app/auth.service.ts"
click node_gateway "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/gateway/src/main/java/esprit/tn/gateway/GatewayApplication.java"
click node_eureka "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/eureka/src/main/java/tn/esprit/eureka/EurekaApplication.java"
click node_config "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/config-server/src/main/java/tn/esprit/configserver/ConfigServerApplication.java"
click node_course "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Course/src/main/java/esprit/tn/course/CourseController.java"
click node_formation "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Formation/src/main/java/skillup/demo/controller/FormationRestApi.java"
click node_quiz "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Quiz/src/main/java/tn/esprit/quiz/Services/GamificationService.java"
click node_certificate "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/certificat/src/main/java/tn/esprit/certificat/CertificatRestApi.java"
click node_events "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/eventGestion/src/main/java/esprit/tn/eventgestion/Controller/EventController.java"
click node_payments "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Payment/src/main/java/esprit/tn/payment/Controller/PaymentController.java"
click node_jobs "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/job-offer/src/main/java/tn/esprit/joboffer/service/JobOfferService.java"
click node_internships "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/internship-service/src/main/java/tn/esprit/internship/service/ResumeParserService.java"
click node_companies "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/entreprise/src/main/java/tn/esprit/entreprise/controller/EntrepriseController.java"
click node_forum "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/forum/src/main/java/tn/esprit/forum/ForumRestApi.java"
click node_tickets "https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Ticket/src/main/java/esprit/tn/ticket/TicketController.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_angular,node_user toneBlue
class node_gateway,node_eureka,node_config toneAmber
class node_course,node_formation,node_quiz,node_certificate,node_events toneMint
class node_jobs,node_internships,node_companies,node_forum toneRose
class node_users,node_payments,node_tickets,node_stripe toneIndigo
```

## Components

### Client

- [Angular client](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/skillup_front/src/app/auth.service.ts): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/skillup_front/src/app/auth.service.ts`

### Cloud platform

- [API gateway](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/gateway/src/main/java/esprit/tn/gateway/GatewayApplication.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/gateway/src/main/java/esprit/tn/gateway/GatewayApplication.java`
- [Service registry](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/eureka/src/main/java/tn/esprit/eureka/EurekaApplication.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/eureka/src/main/java/tn/esprit/eureka/EurekaApplication.java`
- [Config server](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/config-server/src/main/java/tn/esprit/configserver/ConfigServerApplication.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/config-server/src/main/java/tn/esprit/configserver/ConfigServerApplication.java`

### Learning services

- [Course service](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Course/src/main/java/esprit/tn/course/CourseController.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Course/src/main/java/esprit/tn/course/CourseController.java`
- [Formation service](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Formation/src/main/java/skillup/demo/controller/FormationRestApi.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Formation/src/main/java/skillup/demo/controller/FormationRestApi.java`
- [Quiz and gamification](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Quiz/src/main/java/tn/esprit/quiz/Services/GamificationService.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Quiz/src/main/java/tn/esprit/quiz/Services/GamificationService.java`
- [Certification](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/certificat/src/main/java/tn/esprit/certificat/CertificatRestApi.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/certificat/src/main/java/tn/esprit/certificat/CertificatRestApi.java`
- [Event management](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/eventGestion/src/main/java/esprit/tn/eventgestion/Controller/EventController.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/eventGestion/src/main/java/esprit/tn/eventgestion/Controller/EventController.java`

### Career and community

- [Job offers](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/job-offer/src/main/java/tn/esprit/joboffer/service/JobOfferService.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/job-offer/src/main/java/tn/esprit/joboffer/service/JobOfferService.java`
- [Internship resume parsing](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/internship-service/src/main/java/tn/esprit/internship/service/ResumeParserService.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/internship-service/src/main/java/tn/esprit/internship/service/ResumeParserService.java`
- [Company directory](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/entreprise/src/main/java/tn/esprit/entreprise/controller/EntrepriseController.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/entreprise/src/main/java/tn/esprit/entreprise/controller/EntrepriseController.java`
- [Forum and discussion](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/forum/src/main/java/tn/esprit/forum/ForumRestApi.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/forum/src/main/java/tn/esprit/forum/ForumRestApi.java`

### Platform services

- **User service**
- [Payment processing](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Payment/src/main/java/esprit/tn/payment/Controller/PaymentController.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Payment/src/main/java/esprit/tn/payment/Controller/PaymentController.java`
- [Support tickets](https://github.com/jaouhar-bziouech/esprit-pidev-4sae11-2026-skillup/blob/main/Team_elevate-main%20(3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Ticket/src/main/java/esprit/tn/ticket/TicketController.java): `Team_elevate-main (3)/Team_elevate-main/Team_elevate-main/backEnd/microservices/Ticket/src/main/java/esprit/tn/ticket/TicketController.java`

### Other components

- **Platform user**
- **Stripe**

## Connections

- Platform user → Angular client: uses
- Angular client → API gateway: API requests
- Angular client → User service: auth requests
- API gateway → Course service: routes requests
- API gateway → Formation service: routes requests
- API gateway → Quiz and gamification: routes requests
- API gateway → Certification: routes requests
- API gateway → Event management: routes requests
- API gateway → Payment processing: routes requests
- API gateway → Job offers: routes requests
- API gateway → Internship resume parsing: routes requests
- API gateway → Company directory: routes requests
- API gateway → Forum and discussion: routes requests
- API gateway → Support tickets: routes requests
- Service registry → API gateway: service registry
- Service registry → Course service: service registry
- Service registry → Formation service: service registry
- Service registry → Quiz and gamification: service registry
- Service registry → Certification: service registry
- Service registry → Event management: service registry
- Service registry → Payment processing: service registry
- Service registry → Job offers: service registry
- Service registry → Internship resume parsing: service registry
- Service registry → Company directory: service registry
- Service registry → Forum and discussion: service registry
- Service registry → Support tickets: service registry
- Config server → API gateway: provides config
- Config server → Course service: provides config
- Config server → Formation service: provides config
- Config server → Quiz and gamification: provides config
- Config server → Certification: provides config
- Config server → Event management: provides config
- Config server → Payment processing: provides config
- Config server → Job offers: provides config
- Config server → Internship resume parsing: provides config
- Config server → Company directory: provides config
- Config server → Forum and discussion: provides config
- Config server → Support tickets: provides config
- Payment processing → Stripe: payment processing
