/Microservices-with-Docker-flask-and-react

Projet des creation de sites web sous une architecture microservices grace à flask et React maintenus suivant des test et des integrations continus , empaqueté avec Docker et deployé sur Amazon EC2

Primary LanguagePython

Microservices-with-Docker-flask-and-react

Projet de creation d'un site web de gestion d'interactions utilisateurs (login , register , authentification , authorization , test unitaires , developpement et Integration continu , ...) et les operations CRUD sur base de données avec React et flask , tout ceci empaqueter dans des conteneurs Docker pour une meilleure autonomie et modelisé suivant une architecture microservice.

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Table de matiere

  1. Concept de microservices
  2. Architecture du site
  3. Differents microservices
  4. Interface utilisateur
  5. Installation et utilisation du projet
  6. Crédit

Concept d'architecture microservice

L'architecture Microservices propose une solution en principe simple : découper une application en petits services, appelés Microservices, parfaitement autonomes, qui exposent une API REST que les autres microservices pourront consommer.
Image de microservice
Chaque microservice est parfaitement autonome : il a sa propre base de données, son propre serveur d'application (Tomcat, Jetty, etc.), ses propres librairies et ainsi de suite. La plupart du temps, ces microservices sont chacun dans un container Docker, ils sont donc totalement indépendants y compris vis-à-vis de la machine sur laquelle ils tournent.

Architecture du site

Le site web fonctionne suivant une architecture de microservices. C'est-à-dire que toutes les fonctionalités du systeme sont divisées en de petits microservices possedant chacun sa base de données , ses langages de programmations spécifiques, empaquetés dans des containeurs Docker et retournant une reponse sous format JSON qui sera integré à l'interface utilisateur.
Comme services , c'est un site web qui permet d'inscrire et/ou de connecter les utilisateurs aux fonctionnalité d'un système en passant par les tests d'interface, d'authentification , des integrations contitnues et la sauvegarde des information utilisateurs dans une base de données. A chaque fonctionnalités il existe un service specialisé. Chaque service est empaqueter sous Docker puis deployé avec Amazon EC2.
Image de l'architecture

Differents services

Interface utilisateur

Installation et utilisation du projet

  1. A partir de Docker

Docker. Docker est un logiciel qui permet de créer et de gérer des conteneurs, qui sont des environnements isolés pour exécuter des applications. Pour installer Docker, vous devez suivre les étapes suivantes, selon votre système d’exploitation:


  • Si vous utilisez Windows 10 ou 11, vous devez télécharger le fichier d’installation Docker pour Desktop sur le Docker Hub12, lancer l’installation en tant qu’administrateur, activer les fonctionnalités Hyper-V Windows et lancer Docker.
  • Si vous utilisez Windows 10 ou 11, vous devez télécharger le fichier d’installation Docker pour Desktop sur le Docker Hub12, lancer l’installation en tant qu’administrateur, activer les fonctionnalités Hyper-V Windows et lancer Docker.
  • sudo apt update
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add 
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
    sudo apt update
    sudo apt install docker-ce
    

    Pour consulter le site web , telecharger l'image docker du projet qui sont des fichiers contenant les divers services de l'applications.Dans l'invite de commande, éxecuter la commande suivante:

     docker pull test-driven-app
    


    Pour executer le conteneur, inserer la commande:

    docker run -it test-driven-app
    

    1. Grace à l'environnement virtuel

  • Telecharger le projets dans votre machine grace à la commande git:
     git clone https://github.com/DarkShadowCoder/Microservices-with-Docker-flask-and-react.git
     cd Microservices-with-Docker-flask-and-react
    
  • Ensuite activer l'environnemnt virtuel grace à la commande:
     source ./env/bin/activate
    
  • Installer toutes les librairies requise pour executer l'application grace à:
    pip install -r requirements.txt
    
  • Executer le code avec:
    npm start
    
  • Credits

    Langages utilisés

    Static Badge Static Badge Static Badge Static Badge Static Badge

    Me contacter

    Static Badge Static Badge Static Badge Static Badge