Este proyecto es una aplicación de gestión de tareas desarrollada con Laravel en el backend y Angular en el frontend.
/backend
- Aplicación Laravel que proporciona la API REST/frontend
- Aplicación Angular que consume la API
- PHP 8.0 o superior
- Composer
- Node.js 16.0 o superior
- npm
- Docker (para el contenedor MySQL)
# Dar permisos de ejecución al script
chmod +x start-linux.sh
# Ejecutar el script
./start-linux.sh
# Simplemente ejecuta el script de inicio
start-windows.bat
Si prefieres configurar el proyecto manualmente, sigue estos pasos:
docker run --name taskdb_mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=task_db -e MYSQL_USER=taskuser -e MYSQL_PASSWORD=taskpass -p 3306:3306 -d mysql:8.0
# Navegar al directorio backend
cd backend
# Instalar dependencias
composer install
# Crear archivo de configuración
cp .env.example .env
# Configurar la base de datos en .env
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=task_db
# DB_USERNAME=taskuser
# DB_PASSWORD=taskpass
# Generar clave de aplicación
php artisan key:generate
# Ejecutar migraciones
php artisan migrate
# Limpiar caché
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
# Iniciar servidor
php artisan serve --port=8001
# Navegar al directorio frontend
cd frontend
# Instalar dependencias
npm install
# Iniciar servidor de desarrollo
npm start
- Backend (API): http://localhost:8001
- Frontend: http://localhost:4200
GET /api/tasks
- Obtener todas las tareasPOST /api/tasks
- Crear una nueva tareaPUT /api/tasks/{id}
- Actualizar una tareaDELETE /api/tasks/{id}
- Eliminar una tarea
-
Backend:
- Laravel 10
- MySQL (Docker)
- PHP 8.1
-
Frontend:
- Angular 18
- Bootstrap 5
- TypeScript
Este proyecto está configurado con un repositorio Git único para ambas partes (frontend y backend).
Para contribuir al proyecto:
# Clonar el repositorio
git clone <url-del-repositorio>
# Crear una nueva rama
git checkout -b feature/nueva-funcionalidad
# Realizar cambios...
# Agregar y confirmar cambios
git add .
git commit -m "Descripción de los cambios"
# Enviar cambios
git push origin feature/nueva-funcionalidad