Proyecto sencillo fullstack desarrollado con Golang en el backend y Astro en el frontend. La denámica del sistema es muy sencilla pues consiste en una serie de usuarios que a su vez contiene una lista de tareas que pueden ser marcadas como finalizadas.
Vista básica de un usuario sin tareas
Vista del proyecto con datos lleno
Vista para agregar una tarea a un usuario
Para la ejecución del proyecto hacen falta las siguientes dependencias.
- Golang 1.21
- Node.js 20.10.0
- MySQL 8.X
El proyecto backend fue basado en el proyecto creado por Fazt para posteriormente adaptar una serie de cambios que permitieran el despliegue del código en máquinas virtuales.
Los modelos de la base de datos son los siguientes
- Usario: Nombre (string), Apellido (string) y correo (string)
- Tarea: Titulo (string), Descripción (string) e ID del usuario (int)
El proyecto frontend fue realizado desde cero con Astro, posteriormente se implementó la integración con React para la codificación del componente "UserList.jsx".
-
Clonar el repositorio
git clone https://github.com/Andres-Shadow/Users-Taks-List.git
-
Crear la base de datos en MySql
mysql -u root -p create database users_tasks
-
Instalar las depedencias del servidor Backend
cd backend go mod download
-
Configurar las variables de entorno del servidor Backend
- Crear el archivo .env al mismo nivel del Main.go
- Copiar el mismo nombre de las varibales que se encuentran en .env.sample
- Asignar los valores a las variables de entorno
-
Ejecutar el servidor Backend
cd backend && go run .
-
Instalar las dependeicas del servidor frontend
cd frontend/users_tasks npm install
-
Configurar las variables de entorno del servidor Frontend
- Crear el arcihvo .env al mismo nivel del package.json
- Copiar el mismo nombre de las variables que se muestrean en .env.sample
- Asignar los valores a las variables de entorno
-
Ejecutar el servidor Frontend
cd frontend/users_tasks && npm run dev
Las contribuciones son bienvenidas. Si deseas contribuir, por favor sigue los siguientes pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -am 'Añadir nueva funcionalidad'
). - Haz push a la rama (
git push origin feature/nueva-funcionalidad
). - Abre un Pull Request.
Para cualquier consulta o sugerencia, puedes contactar a los mantenedores del proyecto a través de: