Skip to content

Inercial/Mini-CRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Mini CRM CLI

Este es un pequeño sistema CRM (Customer Relationship Management) que se ejecuta desde la terminal usando Node.js y PostgreSQL. Permite gestionar clientes, sus sucursales y productos asociados de forma sencilla e interactiva.


⚙️ Tecnologías utilizadas

  • Node.js
  • PostgreSQL
  • Inquirer (menú interactivo)
  • Chalk (colores en consola)
  • pg (cliente de PostgreSQL)

🧱 Estructura de la Base de Datos

🧾 Tabla clientes

CREATE TABLE clientes (
  id SERIAL PRIMARY KEY,
  nombre TEXT NOT NULL,
  correo TEXT,
  activo BOOLEAN DEFAULT TRUE
);

🏢 Tabla sucursales

CREATE TABLE sucursales (
  id SERIAL PRIMARY KEY,
  cliente_id INTEGER REFERENCES clientes(id),
  direccion TEXT NOT NULL
);

📦 Tabla productos

CREATE TABLE productos (
  id SERIAL PRIMARY KEY,
  nombre TEXT NOT NULL,
  precio NUMERIC NOT NULL
);

🔗 Tabla clientes_productos

CREATE TABLE clientes_productos (
  cliente_id INTEGER REFERENCES clientes(id),
  producto_id INTEGER REFERENCES productos(id),
  PRIMARY KEY (cliente_id, producto_id)
);

▶️ Cómo usar

  1. Clonar el repositorio:

    git clone https://github.com/tu-usuario/mini-crm-cli.git
    cd mini-crm-cli
  2. Instalar dependencias:

    npm install
  3. Editar la configuración de conexión en db.js si es necesario.

  4. Crear las tablas en PostgreSQL con los comandos SQL anteriores.

  5. Ejecutar la app:

    node index.js

    O si configurás tu package.json:

    npm start

📋 Funcionalidades del menú

Opción Descripción
➕ Agregar cliente Crea un nuevo cliente con nombre y correo.
📝 Editar cliente Permite modificar el nombre o correo de un cliente existente.
❌ Eliminar cliente Elimina lógicamente un cliente (lo marca como inactivo).
📄 Ver resumen de un cliente Muestra nombre, correo, productos y sucursales de un cliente.
🏢 Agregar sucursal Añade una dirección física asociada a un cliente.
📦 Agregar producto Crea un producto que luego puede ser asignado a clientes.
➕ Asignar producto a cliente Relaciona un producto existente con un cliente.
🛒 Listar productos de cliente Muestra los productos asociados a un cliente.
🚪 Salir Cierra la aplicación.

🧠 Autor

Julian Luna
GitHubLinkedIn


📜 Licencia

Este proyecto está bajo la licencia MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published