Este es un API REST siguiendo de patrones DDD con un enfoque minimalista sobre una app para consultar y sugerir Stocks.
-
Manejo de session básico a través de JWT
-
Registro de usuarios
-
Registro de stocks a usuarios
-
Detalles de recomendaciones de Stocks por
Brokerages -
Información detallada de los stocks incluyendo
Markets,Companies, yBrokeragesetc. -
Paginación de resultados tanto para consultas de
Stockscomo deRecomendaciones. -
Registro automático de
Stocksa través de una API de fuentes de datos cada 24 horas. -
Posibilidad de agregar diferentes fuentes de datos de
Stocksa futuro.
Este proyecto usa Go 1.23 y depende de:
golang.org/x/crypto: utilidades criptográficas.gorm.io/gorm+gorm.io/driver/postgres: ORM para CockroachDB.github.com/robfig/cron/v3: tareas programadas (cron).github.com/joho/godotenv: carga de variables de entorno desde.env.github.com/stretchr/testify: utilidades para tests.
Dependencias adicionales incluyen utilidades para fechas, sincronización, y soporte para PostgreSQL (pgx, puddle, etc.).
Crea un archivo .env en la raíz del proyecto siguiendo el formato de .env.example. Asegúrate de completar los valores sensibles como contraseñas, llaves y secretos.
# COCKROACHDB SETUP CR
CR_HOST=localhost
CR_PORT=26257
CR_USER=root
CR_PASSWORD=yourpassword
CR_DB=defaultdb
CR_SSL=disable
CR_RUN_MIGRATE=TRUE
# DATA SOURCING
MAIN_SOURCE_STOCK_URI=https://your-api-url.com/path
MAIN_SOURCE_STOCK_KEY=your-api-key
# AUTH
SESSION_SECRET=your-session-secret
# SERVER
SERVER_PORT=3000
GIN_MODE=debugVer go.mod para detalles.
- Incluir variables de entorno en
.env. - Ejecutar go mod tidy.
- Levantar la base de datos CockroachDB.
- Ejecutar
go run ./cmd/populatedbpara migrar y popular la base de datos. - Ejecutar
go run ./cmd/serverpara levantar el servidor.
Para ejecutar los tests, ejecutar go test ./... desde la raíz del proyecto.
Hecho con mucho ❤️ y Go 🐹