Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

DomingoAlvarez99/hexagonal-architecture-example

Open more actions menu

Repository files navigation

Videoclub hexagonal

Este proyecto es un ejemplo práctico del desarrollo de una API REST siguiendo una Arquitectura Hexagonal.

Tecnologías necesarias

Java Maven

⚙️ Instalación del proyecto

  1. Clonar el repositorio en tu equipo:
> cd <folder path>
> git clone https://github.com/DomingoAlvarez99/videoclub-hexagonal-sync
  1. Importar el proyecto mediante IntelliJ IDEA
    1. Import Project, y seleccionar la carpeta del proyecto.
    2. Marcar Create Project from external model, elegir Maven.

🔧 Configuración

  1. Persistence bean & context
    1. MongoDB
    package org.dalvarez.videoclub.application;
    
    @EnableMongoRepositories(basePackageClasses = {org.dalvarez.videoclub.persistence_mongodb.repositories.MovieRepository.class})
    public class ApplicationConfiguration {
    
        @Bean
        public MoviePersistence moviePersistence(org.dalvarez.videoclub.persistence_mongodb.repositories.MovieRepository movieRepository) {
            return new MoviePersistenceMongodbAdapter(movieRepository);
        }
    
    }
    1. JPA & H2
    package org.dalvarez.videoclub.application;
    
    @EntityScan(basePackageClasses = {org.dalvarez.videoclub.persistence_h2.entities.MovieEntity.class})
    @EnableJpaRepositories(basePackageClasses = {org.dalvarez.videoclub.persistence_h2.repositories.MovieRepository.class})
    public class ApplicationConfiguration {
    
        @Bean
        public MoviePersistence moviePersistence(org.dalvarez.videoclub.persistence_h2.repositories.MovieRepository movieRepository) {
            return new MoviePersistenceH2Adapter(movieRepository);
        }
    
    }
  2. Application.properties
    1. MongoDB
    spring.data.mongodb.auto-index-creation=false
    1. JPA & H2
    spring.jpa.database=H2
    spring.jpa.hibernate.ddl-auto=create
    spring.database.driverClassname=org.h2.Driver
    spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
    spring.datasource.username=sa
    spring.datasource.password=

🚀 Ejecución

  1. Desplegar el proyecto localmente: > mvn clean install
  2. Arrancar el proyecto: > mvn spring-boot:run -pl videoclub-application

✔️ Testing

  1. Ejecutar tests unitarios: > mvn test
  2. Ejecutar tests IT: > mvn failsafe:integration-test
  3. Perfil para omitir tests: >-Pno-tests

About

Ejemplo de Arquitectura Hexagonal con Java.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.