Categorygithub.com/cristian980829/PRUEBA-TECNICA-KUASAR
modulepackage
0.0.0-20211228233336-c622a1a8feae
Repository: https://github.com/cristian980829/prueba-tecnica-kuasar.git
Documentation: pkg.go.dev

# README

PRUEBA TÉCNICA PARA LA EMPRESA KUASAR

CRUD, REST API, TESTING, BASE DE DATOS

EL PRESENTE PROYECTO TUVO COMO FINALIDAD IMPLEMENTAR UN API REST QUE EXPUSIERA ENDPOINTS CRUD PARA LA GESTIÓN DE PRODUCTOS.

REQUISITOS

  • TENER INSTALADO GOLANG

TECNOLOGÍAS

  • LENGUAJE: GOLANG
  • FRAMEWORK: GIN
  • BASE DE DATOS: SQLITE
  • PRUEBAS UNITARIAS: REALIZADAS CON GINKGO Y GOMEGA

COMANDOS DE EJECUCIÓN


EJECUTAR PROYECTO

go run main.go

EJECUTAR PRUEBAS UNITARIAS

ginkgo -r --randomizeAllSpecs

ENDPOINTS


LOS ENDPOINTS PRESENTADOS A CONTINUACIÓN FUERÓN PROBADOS EN POSTMAN. DESCARGALOS AQUI

  • [POST] CREAR UN PRODUCTO: localhost:9098/api/products
  • [GET] OBTENER LISTA DE PRODUCTOS: localhost:9098/api/products
  • [GET] OBTENER UN PRODUCTO: localhost:9098/api/products/id_producto
  • [PUT] ACTUALIZAR UN PRODUCTO: localhost:9098/api/products/id_producto
  • [DELETE] ELIMINAR UN PRODUCTO: localhost:9098/api/products/id_producto
  • [GET] OBTENER DATA DE JSON VOLUMES: localhost:9098/api/volumes
// EJEMPLO DEL FORMATO EN QUE DEBE SER ENVIADO EL PRODUCTO (APLICA PARA METODO POST Y PUT)

{
    "id": "123",
	"Name": "LAPTOP",
	"Description": "RYZEN 5, 8 GB RAM, 500 GB SSD",
	"Status": "Ready",
	"Account_id": "9c42b90c-70fa-4909-858f-da7c73df6e36",
	"Format_product": "PORTABLE",
	"Value_unit": 2000000.00,
	"Unit_name": "EXAMPLE UNIT NAME",
	"Unit_description": "EXAMPLE UNIT DESCRIPTION",
	"Stock": 50
}

AUTENTICACIÓN


EL METODO PARA OBTENER LA DATA DEL JSON VOLUMEN REQUIERE DE AUTENTICACIÓN BASICA, POR LO TANTO PARA REALIZAR LA PETICIÓN SE DEBE ENVIAR CON UN USAURIO Y CONTRASEÑA VALIDOS, LOS CUALES SERAN OBTENIDO DE UN ARCHIVO JSON ESTATICO users.json, EL CUAL CONTIENE LA SIGUIENTE LISTA DE USUARIOS. CUALQUIERA DE ESTOS TE PERMITIRÁ REALIZAR LA PETICIÓN Y OBTENER LA DATA DEL ARCHIVO volumen_list.json

{
    "admin": "123",
    "admin2": "456",
    "admin3": "789"
}

BUENAS PRÁCTICAS


ES IMPORTANTE TENER EN CUENTA LAS BUENAS PRACTICAS AL MOMENTO DE LA CODIFICACIÓN, A CONTINUACIÓN UNA LISTA DE LAS BUENAS PRÁCTICAS QUE SE TUVIERON EN CUENTA MIENTRAS SE REALIZABA EL PROYECTO.

  • TESTEAR EL CÓDIGO: PARA ESTO SE IMPLEMENTARÓN PRUEBAS UNITARIAS UTILIZANDO GINKGO Y GOMEGA, Y ASÍ COMPROBAR QUE LOS METODOS IMPLEMENTADOS PARA MONTAR LA API FUNCIONAN CORRECTAMENTE, EVITAR POSIBLES BUGS Y CUALQUIER TIPO DE FALLO EN NUESTRA APLICACIÓN.

  • DOCUMENTAR EL CÓDIGO: ESTO ES MUY IMPORTANTE YA QUE ASÍ SE DA A CONOCER SUFICIENTE INFORMACIÓN COMO PARA EXPLICAR LO QUE HACE CADA METODO DEL PROYETCO. ESTO LE SERÁ MUY ÚTIL A ALGUIEN QUE DESEE CONOCER LA ESTRUCTURA Y FUNCIONALIDAD DEL PROYECTO.

  • MANEJO DE ERRORES: SE REALIZARÓN VALIDACIONES A LA HORA DE CONSUMIR LOS SERVICIOS Y SE CONTROLARÓN LOS POSIBLES ERRORES.

  • ARQUITECTURA DEL PROYECTO: EL PROYECTO CUENTA CON ARQUITECTURAS LIMPIAS, SEPARACIÓN DE CAPAS Y BUENAS PRACTICAS EN EL DISEÑO DE API REST.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author