Features: - React 18 + TypeScript frontend with Vite - Go + Gin backend API - PostgreSQL database - JWT authentication with refresh tokens - User management (admin panel) - Docker containerization - Progress tracking system - 4 economic modules structure Fixed: - Login with username or email - User creation without required email - Database nullable timestamps - API response field naming
33 lines
931 B
Go
33 lines
931 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type Progreso struct {
|
|
ID uuid.UUID `json:"id"`
|
|
UsuarioID uuid.UUID `json:"usuario_id"`
|
|
ModuloNumero int `json:"modulo_numero"`
|
|
EjercicioID int `json:"ejercicio_id"`
|
|
Completado bool `json:"completado"`
|
|
Puntuacion int `json:"puntuacion"`
|
|
Intentos int `json:"intentos"`
|
|
UltimaVez time.Time `json:"ultima_vez"`
|
|
RespuestaJSON string `json:"respuesta_json,omitempty"`
|
|
}
|
|
|
|
type ProgresoUpdate struct {
|
|
Completado bool `json:"completado"`
|
|
Puntuacion int `json:"puntuacion"`
|
|
RespuestaJSON string `json:"respuesta_json,omitempty"`
|
|
}
|
|
|
|
type ProgresoResumen struct {
|
|
TotalEjercicios int `json:"total_ejercicios"`
|
|
EjerciciosCompletados int `json:"ejercicios_completados"`
|
|
PromedioPuntuacion int `json:"promedio_puntuacion"`
|
|
ModulosCompletados int `json:"modulos_completados"`
|
|
}
|