Proyecto GO - Fiber (Gestion de usuarios y tareas)
En este proyecto, se desarrolló un sistema que usa API REST con Go y Fiber, además de firebase para almacenar datos y realizar la autenticación de los usuarios. Además se usó JWT para la autenticación.
Flujo y funcionamiento del proyecyo:
- Registrarte como usuario
- Hacer login para obtener un token
- Gestionar tareas y usuarios
Requisitos para ejecutar el proyecto:
- Go version 1.21
- Tener una cuenta de Firebase y activar Firestore Database
Clonar o descargar el proyecto
Instala las dependencias
go mod tidy
Configura Firebase
1. Ve a Firebase Console
2. Crea un proyecto nuevo
3. Activa Firestore Database
4. Ve a "Configuración del proyecto" => "Cuentas de servicio"
5. Genera una nueva clave privada
6. Guarda el archivo JSON como key.json en la raíz del proyecto
Configurar las variables de entorno
JWT_SECRET=tu_clave_secreta
FIREBASE_CREDENTIALS=./key.json
¡Ejecuta la aplicación!
go run main.go
APIS:
POST /api/auth/register
Content-Type: application/json
{
"nombre": "Ricardo",
"apellidos": "Torres",
"email": "ricardo@torres.com",
"password": "ric12345",
"fecha_nacimiento": "2004-10-04",
"pregunta_secreta": "¿Donde naciste?",
"respuesta_secreta": "Queretaro"
}
POST /api/auth/login
Content-Type: application/json
{
"email": "ricardo@torres.com",
"password": "ric12345"
}
Usuarios
- GET /api/users/:id - Ver perfil
- PUT /api/users/:id - Actualizar perfil
- DELETE /api/users/:id - Eliminar cuenta
Tareas
- POST /api/tasks - Crear tarea
- GET /api/tasks - Ver todas mis tareas
- GET /api/tasks/:id - Ver una tarea específica
- PUT /api/tasks/:id - Actualizar tarea
- DELETE /api/tasks/:id - Eliminar tarea