¡Bienvenido/a a mi proyecto de aprendizaje para un CRUD de Usuarios y Tareas! 🤩✨ Este proyecto está desarrollado en el lenguaje de programación GO. 🐹🚀
- Go 🐹
- Gorilla Mux 🦍
- Gin 🍸
- GORM 🗃️
- JWT (JSON Web Tokens) 🔐
- Go Crypto 🛡️
- Air ☁️ Live reload for Go apps
- PostgreSQL 🐘
- Docker 🐳
- ✅ Signup, Login y Perfil de usuario con middleware que comprueba Autenticación
- ✅ Crear, leer, actualizar y eliminar usuarios 👤
- ✅ Crear, leer, actualizar y eliminar tareas 📋
- ✅ Asociación entre usuarios y tareas 🔗
Sigue estos sencillos pasos para poner en marcha el proyecto en tu entorno local 🏡:
git clone https://github.com/GuilleFB/go-party.git
cd go-party
Crea un archivo .env
en el directorio raíz del proyecto y añade tus configuraciones:
cp .env.template .env
DB_HOST=localhost
DB_PORT=tu_port
POSTGRES_USER=tu_usuario
POSTGRES_PASSWORD=tu_contraseña
POSTGRES_DB=tu_basedatos
SECRET=tu_secreto
docker compose up -d
Con esto levantaremos la base de datos en PostgreSQL.
go install github.com/cosmtrek/air@latest
air
Una vez que el contenedor esté en funcionamiento, puedes acceder a la API en http://localhost:8000
.
- Signup:
POST gin/auth/signup
- Login:
POST /gin/auth/login
- Profile:
GET /gin/user/profile
- Crear usuario:
POST /mux/user/create
- Obtener todos los usuarios:
GET /mux/users
- Obtener usuario por ID:
GET /mux/user/{id}
- Actualizar usuario:
PATCH /mux/user/edit/{id}
- Eliminar usuario:
DELETE /mux/user/delete/{id}
- Crear tarea:
POST /gin/tasks
- Obtener todas las tareas:
GET /gin/tasks
- Obtener tarea por ID:
GET /gin/task/:id
- Actualizar tarea:
PATCH /gin/tasks/edit/:id
- Eliminar tarea:
DELETE /gin/tasks/delete/:id
¡Las contribuciones son bienvenidas! 🙌 Si tienes alguna idea o encuentras algún error, por favor abre un issue o envía un pull request. 🛠️🔧
Si tienes alguna pregunta o sugerencia, no dudes en comentar algo en las discusiones.
¡Gracias por pasarte por aquí y feliz programación! 💻🎉🚀