Este proyecto es una API REST básica desarrollada en Go, con arquitectura tipo MVC, utilizando:
- Gin como framework web
- GORM como ORM
- PostgreSQL como base de datos
- godotenv para la gestión de variables de entorno
api_go/
├── config/ # Configuración de la base de datos
│ └── database.go
├── controllers/ # Lógica de negocio (handlers)
│ └── user_controller.go
├── models/ # Modelos de datos
│ └── user.go
├── routes/ # Definición de rutas
│ └── user_routes.go
├── .env # Variables de entorno (no se sube al repo)
├── go.mod # Módulo y dependencias
└── main.go # Punto de entrada
-
Clona este repositorio:
git clone https://github.com/tu-usuario/api_go.git cd api_go -
Instala las dependencias:
go mod tidy
-
Crea un archivo
.envcon tu URL de PostgreSQL:DB_URL=postgresql://usuario:contraseña@host/nombre_db?sslmode=require
-
Corre la API:
go run main.go
GET /usersPOST /users
Content-Type: application/json
{
"name": "Juan",
"email": "juan@mail.com"
}- Se utiliza
AutoMigrate()para crear automáticamente la tablauserssi no existe. - Esta API es un punto de partida para proyectos más complejos.
- Ideal para aprender Go y practicar buenas prácticas con estructura MVC.
Hecho con ❤️ por [Damian].