QuoteMaker

module
v0.0.0-...-238b7f8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2024 License: Unlicense

README

Logo

QuoteMaker

Una herramienta increíble para obtener cotizaciones rápidas y precisas
Explora la documentación »

Ver Demo · Reportar Bug · Solicitar Funcionalidad

Tabla de Contenidos

Introducción

Facilita la creación de cotizaciones minimizando el tipeo manual y los posibles errores que podrían ocurrir al hacerlo de la forma convencional.

Arquitectura Hexagonal

Descripción de la estructura del proyecto con la arquitectura hexagonal, incluyendo el flujo entre API, casos de uso, servicios y base de datos.

Estructura del Proyecto:

 ┣ .github
 ┣ assets
 ┃ ┣ images
 ┃ ┃ ┗ QuoteMaker_Logo.png
 ┃ ┗ .DS_Store
 ┣ cmd
 ┃ ┗ main.go
 ┣ internal
 ┃ ┣ app
 ┃ ┃ ┣ application
 ┃ ┃ ┃ ┣ category
 ┃ ┃ ┃ ┣ customer
 ┃ ┃ ┃ ┣ product
 ┃ ┃ ┃ ┣ quotation
 ┃ ┃ ┃ ┗ seller
 ┃ ┃ ┣ domain
 ┃ ┃ ┃ ┣ category
 ┃ ┃ ┃ ┃ ┣ category.go
 ┃ ┃ ┃ ┃ ┗ categoryRepository.go
 ┃ ┃ ┃ ┣ customer
 ┃ ┃ ┃ ┃ ┣ customer.go
 ┃ ┃ ┃ ┃ ┗ customerRepository.go
 ┃ ┃ ┃ ┣ product
 ┃ ┃ ┃ ┃ ┣ product.go
 ┃ ┃ ┃ ┃ ┗ productRepository.go
 ┃ ┃ ┃ ┣ quotation
 ┃ ┃ ┃ ┃ ┣ quotation.go
 ┃ ┃ ┃ ┃ ┗ quotationRepository.go
 ┃ ┃ ┃ ┗ seller
 ┃ ┃ ┃ ┃ ┣ seller.go
 ┃ ┃ ┃ ┃ ┗ sellerRepository.go
 ┃ ┃ ┗ infrastructure
 ┃ ┃ ┃ ┣ config
 ┃ ┃ ┃ ┃ ┣ config.go
 ┃ ┃ ┃ ┃ ┗ config.yaml
 ┃ ┃ ┃ ┣ db
 ┃ ┃ ┃ ┃ ┗ db.go
 ┃ ┃ ┃ ┣ persistence
 ┃ ┃ ┃ ┃ ┣ category
 ┃ ┃ ┃ ┃ ┃ ┣ sqlCategoryRepository.go
 ┃ ┃ ┃ ┃ ┃ ┗ sqlCategoryRepository_test.go
 ┃ ┃ ┃ ┃ ┣ customer
 ┃ ┃ ┃ ┃ ┃ ┣ sqlCustomerRepository.go
 ┃ ┃ ┃ ┃ ┃ ┗ sqlCustomerRepository_test.go
 ┃ ┃ ┃ ┃ ┣ product
 ┃ ┃ ┃ ┃ ┃ ┣ sqlProductRepository.go
 ┃ ┃ ┃ ┃ ┃ ┗ sqlProductRepository_test.go
 ┃ ┃ ┃ ┃ ┣ quotation
 ┃ ┃ ┃ ┃ ┃ ┣ sqlQuotationRepository.go
 ┃ ┃ ┃ ┃ ┃ ┗ sqlQuotationRepository_test.go
 ┃ ┃ ┃ ┃ ┗ seller
 ┃ ┃ ┃ ┃ ┃ ┣ sqlSellerRepository.go
 ┃ ┃ ┃ ┃ ┃ ┗ sqlSellerRepository_test.go
 ┃ ┃ ┃ ┗ transport
 ┃ ┃ ┃ ┃ ┣ grpc
 ┃ ┃ ┃ ┃ ┗ http
 ┃ ┗ pkg
 ┃ ┃ ┣ util
 ┃ ┃ ┃ ┗ random.go
 ┃ ┃ ┗ utiltest
 ┃ ┃ ┃ ┗ create_random.go
 ┣ migrations
 ┃ ┣ 000001_init_schema.down.sql
 ┃ ┗ 000001_init_schema.up.sql
 ┣ .DS_Store
 ┣ .env
 ┣ .gitignore
 ┣ LICENSE
 ┣ Makefile
 ┣ README.md
 ┣ go.mod
 ┣ go.sum
 ┣ go.work
 ┗ go.work.sum

Funcionalidades

  • Backend en Go estándar.
  • Interfaz de usuario adaptable a cualquier tecnología frontend.
  • Creación rápida de interfaces de usuario para programas en Go.
  • Multiplataforma con motores de renderizado nativos.

Built With

  • Go

Empezando

Instrucciones para configurar el proyecto localmente.

Prerrequisitos

  • Docker y Postgres.
  • Herramientas de migración de base de datos.

Instalación

Pasos para clonar el repositorio y configurar el entorno de desarrollo.

Uso

Ejemplos de cómo se puede utilizar el proyecto. Enlace a la documentación para más ejemplos.

Licencia

Distribuido bajo la Licencia MIT. Ver LICENSE.txt para más información.

Errores

  1. Error "No such file start.sh" o "No such file wait-for.sh", estos se deben a modificaciones en los saltos de linea en los archivos al hacer una operacion en git, puede ser solucionado con los comandos "dos2unix start.sh" y "dos2unix wait-for.sh", en caso de que sea un error de permisos habra que ejecutar los comandos "chmod +x start.sh" o "chmod +x wait-for.sh"

Para crear redes para contenedores

docker build -t . docker network create docker network connect docker network inspect docker container inspect

Pasos de conexion

  1. crear red. docker network create
  2. conectarse a red creada. docker network connect
  3. crear contenedor de bd. docker run --name --network -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret -d postgres:12-alpine
  4. crear contenedor postgres conectado a la red. docker network connect api-network
  5. poblar base de datos y migraciones de la bd docker exec -it postgres createdb --username=root --owner=root quote_maker migrate -path migrations -database "postgres://root:secret@localhost:5432/quote_maker?sslmode=disable" -verbose up
  6. crear imagen de go. docker build -t :latest .
  7. correr imagen de go en red. docker run --name --network -p 8080:8080 -e DB_SOURCE="postgres://root:secret@postgres:5432/quote_maker?sslmode=disable" go-api:latest

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL