Skip to content

Purpost blog microservices application developed with Spring Boot, Spring Webflux, Spring Cloud, Spring Security, JWT and other tools.

License

Notifications You must be signed in to change notification settings

misicode/Purpost_Blog-Server

Repository files navigation

Logo Icon

Purpost Server

Microservicios de Purpost Blog
Reportar Bug | Solicitar Feature


📖 Acerca del repositorio

Aplicación de microservicios desarrollado con Spring Boot del proyecto Purpost Blog para la gestión de publicaciones y autenticación de usuarios.

Arquitectura

Construido con

Herramienta Descripción Versión
Java Lenguaje de programación utilizado 17.0.1
Spring Boot Framework para el desarrollo de aplicaciones 3.2.4
Spring Security Framework para la seguridad de acceso 6.2.3
JWT Estándar para la creación de tokens de acceso 0.11.5
MongoDB Base de datos NoSQL 4.2.1
Swagger Estándar para la especificación de APIs 3.0
Sonarqube Plataforma para evaluar código fuente 10.5
Docker Plataforma para desplegar contenedores 27.0.3
Apache Maven Herramienta para la gestión de dependencias 3.9.2
IntelliJ IDEA Entorno de desarrollo del proyecto 2023.2 Ultimate Edition

🚀 Iniciando el proyecto

Para poner en funcionamiento una copia local de este repositorio, siga los siguientes pasos.

Requisitos previos

Obligatorio

JDK >= 17.X
Maven >= 3.X

Opcional

Git
IntelliJ IDEA
Docker

Instalación y configuración

  1. Descargue o clone este repositorio.

    git clone https://github.com/misicode/Purpost_Blog-Server
  2. Instale todas las dependencias de cada microservicio.

    cd [microservice-name]
    mvn install
  3. Descargue o clone el repositorio de configuración.

    git clone https://github.com/misicode/PurPostBlog-ConfigServer

Despliegue

Manual

  1. En el microservicio config-server-service, declare la variable de entorno de ubicación de su repositorio de configuración. Por ejemplo:

    1. Si el repositorio es local:

      CONFIG_SERVER_GIT_URI=file:///C:\Users\Usuario\Documents\purpost-config-server
    2. Si el repositorio es remoto:

      CONFIG_SERVER_GIT_URI=https://github.com/misicode/PurPostBlog-ConfigServer
  2. En su repositorio de configuración, reemplace las siguientes variables de entorno de los archivos .yml con sus credenciales respectivas.

    ${JWT_SECRET_KEY} = your_jwt_secret_key
    
    ${IMAGE_MONGODB_URI} = your_image_mongodb_uri
    ${POST_MONGODB_URI} = your_post_mongodb_uri
    ${USER_MONGODB_URI} = your_user_mongodb_uri
    
    ${CLOUDINARY_CLOUD_NAME} = your_cloudinary_cloud_name
    ${CLOUDINARY_API_KEY} = your_cloudinary_api_key
    ${CLOUDINARY_API_SECRET} = your_cloudinary_api_secret
  3. Levante cada microservicio.

Con Docker

  1. Cree el archivo .env como copia del archivo .env.template e ingrese sus credenciales respectivas.

    # Config Server Repository
    CONFIG_SERVER_GIT_URI=your_config_server_git_uri
    CONFIG_SERVER_GIT_PATH=your_config_server_git_path    # only if your ConfigServer repository is local
    # JWT
    JWT_SECRET_KEY=your_jwt_secret_key
    # MongoDB
    IMAGE_MONGODB_URI=your_image_mongodb_uri
    POST_MONGODB_URI=your_post_mongodb_uri
    USER_MONGODB_URI=your_user_mongodb_uri
    # Cloudinary
    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
    CLOUDINARY_API_KEY=your_cloudinary_api_key
    CLOUDINARY_API_SECRET=your_cloudinary_api_secret
  2. Construya el ejecutable de cada microservicio.

    cd [microservice-name]
    mvn clean package -DskipTests
  3. Construya y levante los contenedores de los microservicios.

    docker compose up -d --build

💼 Licencia

Distribuido bajo la licencia MIT. Consulte LICENSE.txt para obtener más información.

🌸 Contacto

Desarrollado por Alessandra Mincia

Misicode GitHub LinkedIn