Stockforce es un SaaS multi-tenant para comercio retail de productos, construido con PHP + MySQL. Esta enfocado en tiendas y retailers que venden productos fisicos con POS, integrando inventario, clientes y analitica operativa en una sola plataforma.
- Problema de negocio real: operacion comercial diaria de retail.
- Cobertura end-to-end: catalogo, inventario, clientes, ventas POS, reportes.
- Enfoque SaaS: aislamiento por tenant y sesiones por rol.
- Preparado para monetizacion: base clara para planes de suscripcion.
- Autenticacion por sesion y control por rol.
- Dashboard con KPIs de ventas, productos top y alertas de stock.
- CRUD de productos, categorias y clientes con alcance por tenant.
- Flujo POS con rebaja automatica de inventario.
- Endpoints API para consulta de productos y ventas.
- Backend: PHP 8+, PDO, MySQL/MariaDB.
- Estructura: controllers, models, views, middleware y router central.
- Integridad de datos: flujo transaccional en ventas y movimientos de inventario.
- Despliegue: compatible con hosting compartido/cPanel.
- Iniciar sesion con usuario admin semillado.
- Crear categorias y productos.
- Registrar cliente.
- Ejecutar una venta POS.
- Validar cambios en stock y metricas del dashboard.
- Plan Basic: catalogo, clientes, POS, stock.
- Plan Pro: analitica avanzada, reportes y automatizaciones de bajo inventario.
- Plan Enterprise: multi-sucursal, integraciones API y onboarding personalizado.
- No commitear
.envcon credenciales reales. - Mantener solo
.env.exampleen el repo. - No subir dumps SQL de produccion con datos reales.
- Rotar credenciales antes del lanzamiento publico.
Stockforce is a multi-tenant SaaS for product retail commerce, built with PHP + MySQL. It is designed for stores and retailers selling physical products via POS, combining inventory, customer management, and operational analytics in one platform.
- Real business problem: day-to-day retail operations.
- End-to-end product scope: catalog, stock, customers, POS sales, reporting.
- SaaS mindset: tenant isolation and role-aware sessions.
- Monetization-ready: clear structure for subscription plans.
- Session-based authentication with role-aware access.
- KPI dashboard (sales trends, top products, low-stock alerts).
- Tenant-scoped CRUD for products, categories, and customers.
- POS workflow with automatic stock deduction.
- API endpoints for products and sales data.
- Backend: PHP 8+, PDO, MySQL/MariaDB.
- Structure: controllers, models, views, middleware, central router.
- Data reliability: transactional sales and inventory movement handling.
- Deployment-ready: works on shared hosting/cPanel.
- Sign in with seeded admin user.
- Create categories and products.
- Create a customer.
- Complete a POS sale.
- Validate inventory updates and dashboard metrics.
- Basic: catalog, customers, POS, stock control.
- Pro: advanced analytics, reporting, low-stock automations.
- Enterprise: multi-branch, API integrations, custom onboarding.
- Create/import the MySQL database
stockforce_db. - Copy
.env.exampleto.envand configure database credentials:DB_HOSTDB_PORTDB_DATABASEDB_USERNAMEDB_PASSWORD
- Import
database/completeschema_db.sql. - Create the first admin user by setting seed variables and running:
php database/seed_admin.phpRequired seed variables:
SEED_TENANT_NAMESEED_ADMIN_NAMESEED_ADMIN_EMAILSEED_ADMIN_PASSWORD
Optional seed variables:
SEED_TENANT_PLANSEED_ADMIN_ROLE
GET /loginPOST /loginGET /dashboardGET /posPOST /posGET /productsGET /products/createGET /products/edit?id={id}POST /productsPOST /products/update?id={id}POST /products/deleteGET /categoriesGET /categories/createGET /categories/edit?id={id}POST /categoriesPOST /categories/update?id={id}POST /categories/deleteGET /customersGET /customers/createGET /customers/edit?id={id}POST /customersPOST /customers/update?id={id}POST /customers/deleteGET /api/productsGET /api/salesPOST /api/salesPOST /logout
Authenticated sessions store user_id, tenant_id, user_name, and user_role.
Upload the project contents to the site root and keep index.php in the root. Apache rewrites all app routes to that file, serves assets from public/assets, and blocks direct access to internal folders.