Categorygithub.com/JhonX2011/GOWebApplication
repository
1.1.0
Repository: https://github.com/jhonx2011/gowebapplication.git
Documentation: pkg.go.dev

# 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

# README

GOWebApplication

Descripción

Este proyecto es una implementación básica de una aplicación web en Go utilizando el router Chi. El objetivo principal es proporcionar una estructura sencilla para crear un servidor HTTP que responda a solicitudes en diferentes rutas.

Estructura del Código

El código se encuentra en el paquete api y se basa en la biblioteca net/http de Go, junto con el paquete github.com/JhonX2011/GOWebApplication/api/web para el enrutamiento y github.com/JhonX2011/GOWebApplication/api/utils/logger para la gestión de logs.

Componentes Clave

Application: La estructura principal que contiene el router, el logger y la dirección del servidor.

NewWebApplication(): Función que inicializa una nueva instancia de la aplicación. Configura el puerto del servidor, crea un listener y establece el logger.

Run(): Método que inicia el servidor HTTP y define los tiempos de espera para las conexiones.

defaultRoutes(): Método que define las rutas predeterminadas de la aplicación. Actualmente, incluye una ruta /ping que devuelve un JSON con el mensaje "pong".

Uso

Instalación: Asegúrate de tener Go instalado en tu máquina. Luego, clona este repositorio y navega a la carpeta del proyecto.

Copiar código

git clone <URL_DEL_REPOSITORIO>

cd GOWebApplication

Configuración: Puedes establecer el puerto en el que deseas que se ejecute la aplicación mediante la variable de entorno PORT. Si no se establece, la aplicación se ejecutará en el puerto por defecto 8080.

export PORT=8000  # Cambia 8000 al puerto deseado

Ejecución: Compila y ejecuta la aplicación.

go run main.go

Prueba: Accede a http://localhost:8080/ping en tu navegador o utiliza curl para verificar que la aplicación está funcionando.

curl http://localhost:8080/ping

La respuesta debería ser:

json

{
"message": "pong"
}

Logs

La aplicación utiliza un logger que imprimirá mensajes en la consola, incluyendo errores y el estado de la ejecución.