Sistema integral de gestión de proyectos, recursos, empleados y clientes con frontend Angular moderno y backend Node.js/Express.
- Angular 20 - Framework frontend
- Tailwind CSS 4 - Estilos y diseño
- TypeScript - Lenguaje de programación
- Node.js - Entorno de ejecución
- Express - Framework web
- PostgreSQL - Base de datos
- bcrypt - Encriptación de contraseñas
gestion-proyectos/
├── frontend/ # Aplicación Angular
│ ├── src/
│ │ ├── app/
│ │ │ ├── components/ # Componentes Angular
│ │ │ │ ├── dashboard/ # Dashboard con métricas
│ │ │ │ ├── proyectos/ # Gestión de proyectos
│ │ │ │ ├── empleados/ # Gestión de empleados
│ │ │ │ ├── clientes/ # Gestión de clientes
│ │ │ │ ├── tareas/ # Gestión de tareas
│ │ │ │ ├── recursos/ # Gestión de recursos
│ │ │ │ ├── presupuestos/ # Gestión de presupuestos
│ │ │ │ ├── gastos/ # Registro de gastos
│ │ │ │ ├── reportes/ # Generación de reportes
│ │ │ │ ├── asignaciones/ # Asignaciones empleado-tarea
│ │ │ │ ├── login/ # Inicio de sesión
│ │ │ │ ├── register/ # Registro de usuarios
│ │ │ │ └── home/ # Landing page
│ │ │ ├── services/ # Servicios HTTP
│ │ │ ├── interfaces/ # Tipos TypeScript
│ │ │ └── layout/ # Layout principal (sidebar)
│ │ └── styles.css # Estilos globales
│ └── package.json
│
├── backend/ # API Node.js (en raíz)
│ ├── routes/
│ │ └── users.routes.js # Todas las rutas API
│ ├── db.js # Configuración de BD
│ ├── config.js # Configuración del servidor
│ └── index.js # Punto de entrada
│
└── package.json # Configuración raíz
- Node.js 18+
- PostgreSQL 14+
- npm o yarn
# Instalar dependencias del backend
npm install
# Configurar base de datos PostgreSQL
# Editar config.js con tus credenciales
# Iniciar servidor backend
node index.jsEl backend corre en http://localhost:3000
cd frontend
# Instalar dependencias
npm install
# Iniciar servidor de desarrollo
npm startEl frontend corre en http://localhost:4200
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/users |
Listar usuarios |
| POST | /api/register |
Registrar usuario |
| POST | /api/login |
Iniciar sesión |
| GET | /api/proyectos |
Listar proyectos |
| POST | /api/proyectos |
Crear proyecto |
| DELETE | /api/proyectos/:id |
Eliminar proyecto |
| GET | /api/empleados |
Listar empleados |
| GET | /api/clientes |
Listar clientes |
| GET | /api/tareas |
Listar tareas |
| GET | /api/recursos |
Listar recursos |
| GET | /api/presupuestos |
Listar presupuestos |
| GET | /api/gastos |
Listar gastos |
| GET | /api/asignaciones |
Listar asignaciones |
| GET | /api/departamentos |
Listar departamentos |
El proyecto implementa un sistema de diseño oscuro tipo SaaS premium:
- Colores: Fondo negro (#050507), acentos morados/violetas
- Glassmorphism: Cards con blur y transparencia
- Gradientes: Botones y elementos decorativos
- Glow effects: Sombras suaves y luminosas
- Tipografía: Inter / Segoe UI
- Landing Page (
/) - Hero con esfera glow, secciones informativas - Login (
/login) - Formulario con glassmorphism - Registro (
/register) - Crear cuenta de cliente/empleado - Dashboard (
/dashboard) - Métricas y estadísticas en tiempo real - Proyectos - CRUD de proyectos
- Empleados - Gestión de empleados y departamentos
- Clientes - Lista de clientes con proyectos
- Tareas - Registro y seguimiento de tareas
- Recursos - Materiales y equipos
- Presupuestos - Asignación de presupuesto por proyecto
- Gastos - Registro de gastos
- Reportes - Generación de reportes
- Asignaciones - Asignar tareas a empleados
npm start # Iniciar servidor dev
npm run build # Compilar para producción
npm run watch # Compilación watch modenode index.js # Iniciar servidor API- Fork del repositorio
- Crear rama feature (
git checkout -b feature/nueva-funcionalidad) - Commit cambios (
git commit -m 'Add nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Crear Pull Request
MIT License
=======
API REST para la gestión de proyectos, tareas, trabajadores y clientes.
- Backend: Express.js (Node.js)
- Base de datos: PostgreSQL
- Autenticación: JWT (JSON Web Token)
- Encriptación: bcryptjs
npm installCrear archivo .env con las variables:
PORT=3000
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=tu_password
DB_NAME=gestion_proyectos
DB_PORT=5432
JWT_SECRET=tu_secreto
# Desarrollo
npm run dev
# Producción
npm startPOST /api/users/register- Registrar usuarioPOST /api/users/login- Iniciar sesiónGET /api/users- Listar usuariosGET /api/users/:id- Obtener usuarioPUT /api/users/:id- Actualizar usuarioDELETE /api/users/:id- Eliminar usuario
ISC
bf58083 (Ajuste en botones de eliminar)