How paul-developer-stack/proyecto-react-final-de-curso- works
Botica Nova Salud is a web application for pharmacy inventory and sales. Staff use the React interface to review dashboard KPIs and stock alerts, maintain products, and assemble and register sales at the POS. The frontend API client calls the Express routes, which implement product and sales operations over MySQL; sales validate and decrement stock transactionally. The README also documents sales history and individual-sale details, but their frontend consumers are not shown. Relationships below are limited to source excerpts or README statements.
Main entry points: api.js API client · App.jsx View navigation · server.js Express server · db.js MySQL pool
Components 14
Staff interface
- View navigation
frontend/src/App.jsx - Dashboard KPIs
frontend/src/components/Dashboard.jsx - Stock alerts
frontend/src/components/StockAlerts.jsx - Inventory table
frontend/src/components/InventoryTable.jsx - Product form
frontend/src/components/ProductModal.jsx - Sales POS
frontend/src/components/SalesPOS.jsx - API client
frontend/src/services/api.js
REST API
- Express server
backend/src/server.js - Product routes
backend/src/routes/productos.js - Sales routes
backend/src/routes/ventas.js - Sales history and details
backend/src/routes/ventas.js
Inventory data
- MySQL pool
backend/src/db.js - MySQL database
database/botica_nova_salud.sql
Other components
- Pharmacy staff
Connections 19
- Pharmacy staff → View navigation: uses
README.md - View navigation → Dashboard KPIs: renders
frontend/src/App.jsx - View navigation → Inventory table: renders
frontend/src/App.jsx - View navigation → Sales POS: renders
frontend/src/App.jsx - Dashboard KPIs → Stock alerts: renders
frontend/src/components/Dashboard.jsx - Inventory table → Product form: renders
frontend/src/components/InventoryTable.jsx - Dashboard KPIs → API client: requests KPIs
frontend/src/components/Dashboard.jsx - Stock alerts → API client: requests alerts
frontend/src/components/StockAlerts.jsx - Inventory table → API client: manages products
frontend/src/components/InventoryTable.jsx - Sales POS → API client: requests products
frontend/src/components/SalesPOS.jsx - Sales POS → API client: submits sale
frontend/src/components/SalesPOS.jsx - API client → Express server: HTTP requests
README.md - Express server → Product routes: routes products
backend/src/server.js - Express server → Sales routes: routes sales
backend/src/server.js - Express server → MySQL pool: checks health
backend/src/server.js - Product routes → MySQL pool: queries products
backend/src/routes/productos.js - Sales routes → MySQL pool: queries transactions
backend/src/routes/ventas.js - MySQL pool → MySQL database: reads and writes
README.md - Sales routes → Sales history and details: serves history
README.md