Skip to content

TangiLC/OC-P10_CICD

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎭 BOBAPP - Application Full-Stack

BOBAPP est une application full-stack permettant d'afficher une blague aléatoire par jour. Elle est développée avec un backend Java Spring Boot et un frontend Angular. Les deux parties sont conteneurisées avec Docker et intègrent un pipeline CI/CD via GitHub Actions.

Ce projet est réalisé dans le cadre du cursus Full-Stack Java Angular d'OpenClassrooms, visant à implémenter une chaîne complète d'intégration continue (CI) et de déploiement continu (CD).

Java Spring Boot Angular JUnit5 Jasmine GitHub Workflow Status Docker


📦 Architecture

Backend (API REST)

  • Langage : Java 11 avec Spring Boot 2.5.4
  • Endpoint principal : GET /api/joke – Renvoie une blague aléatoire
  • Tests : JUnit 5
  • Image Docker : tangilecadre/bobapp-back

Frontend (SPA Angular)

  • Framework : Angular 14
  • Interface : Single Page App (SPA)
  • Tests : Jasmine
  • Image Docker : tangilecadre/bobapp-front

🚀 Installation

1. Installation locale (Développement)

Backend

  1. Cloner le projet :
git clone https://github.com/TangiLC/OC-P10_CICD.git
cd back
  1. Construire le projet :
mvn clean install
  1. Lancer l'API :
mvn spring-boot:run

API disponible sur http://localhost:8080

Frontend

  1. Accéder au dossier front :
cd front
  1. Installer les dépendances :
npm install
  1. Lancer l'application Angular :
ng serve

Frontend accessible sur http://localhost:4200

2. Utilisation avec Docker🐋

Assurez-vous que Docker Desktop est installé sur votre machine. Il inclut le moteur Docker et Docker Compose.

Pull des images dockerhub (dernière version)

Récupération des dernières versions des images Docker pour le backend et le frontend :

docker pull tangilecadre/bobapp-back:latest
docker pull tangilecadre/bobapp-front:latest

Un fichier docker-compose.yml est présent à la racine du projet pour faciliter le déploiement.

Pour lancer les conteneurs (frontend et backend) dans un projet conjoint :

docker-compose up -d

Le front-end de l'application sera disponible sur http://localhost:4200

Pour arrêter les services et libérer les ports :

docker-compose down

🔍 CI/CD - GitHub Actions

Des pipelines GitHub Actions assurent l'intégration et le déploiement continu :

  1. Code Analysis :

    • Analyse statique pour Java (backend) et TypeScript (frontend)
  2. Build & Test :

    • Compilation et tests unitaires (JUnit 5 et Jasmine)
    • Rapport de couverture SonarCloud
  3. Dockerize :

    • Construction des images Docker

Rapports SonarCloud :


🤝 Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 41.3%
  • Java 39.2%
  • JavaScript 8.8%
  • HTML 5.8%
  • Dockerfile 2.7%
  • SCSS 2.2%