Giter Site home page Giter Site logo

clubhub's Introduction

Clubhub

Prueba técnica para puesto senior de backend en clubhub

Descripción

Se desarrollo un servicio web RESTful escrito en el lenguaje de programación Go. Este proyecto es parte de una prueba técnica para una vacante de senior de backend en clubhub, donde se necesitaba diseñar y construir un servicio que permita la administración de franquicias hoteleras, debe permitir almacenar, consultar y actualizar la información. Esta prueba contribuyo a mi proceso de aprendizaje en el lenguaje y la comprensión de la Arquitectura Hexagonal implementada en Go.

Utilice Chi como enrutador HTTP, PostgreSQL como base de datos con pq, Tambien swagger, swag para generar la documentacion en swagger y goquery como consultaen documento HTML.

Por otra parte se usaron los siguientes patrones de diseño.

  • Pattern Adapter
  • Dependency Injection
  • Pattern Repository
  • Pattern Factory

Ejecutar Proyecto

En primer lugar se debe clonar el repositorio donde se encuentra el proyecto. Luego ubicarse dentro de la carpeta de clubhub. Después vamos a construir ejecutar Docker. Asegúrese de que tiene docker instalado en su máquina.

  1. Clonamos el repositorio
git clone https://github.com/Geovanny0401/clubhub
  1. Nos ubicamos dentro de la carpeta
 cd clubhub
  1. Comando para subir Imagen
   docker-compose up --build -d
  1. Comando para bajar la Imagen
    docker-compose down
  1. Esta paso es opcional, despues de ejecutarlo hacemos el paso # 3
chmod +x run.sh
./run.sh

Documentación

La documentación de la API se encuentra en el directorio docs/. Para ver la documentación, abra el navegador y vaya a http://localhost:8001/swagger/index.html. La documentación se genera utilizando swaggo con el middleware gin-swagger.

Diseño

Este el diseño de la Arquitectura Hexagonal en la aplicación como esta compuesta.

Captura de pantalla 2024-01-31 a las 23 53 52

Endpoints

Todo Address

  • Path : /clubhub
  • Method: GET
  • Response: 200 Url:
curl --request GET \
  --url 'http://localhost:8001/clubhub?=' \
  --header 'User-Agent: insomnia/8.6.0'

Detalle por Address

  • Path : /clubhub/address={address}
  • Method: GET
  • Response: 200

Url:

curl --request GET \
  --url 'http://localhost:8001/clubhub/address=marriott.com?=' \
  --header 'User-Agent: insomnia/8.6.0' 

clubhub's People

Watchers

Geovanny Mendoza avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.