How nicolasfns/marketplace works
ProjetoWeb is a role-secured electronics marketplace. Buyers browse a product catalog, open product details, manage delivery addresses, and can contact sellers; sellers and admins manage products through a separate panel. Authentication and role checks are shared across these areas, with MySQL-backed users, roles, products, images, and addresses. The README documents role-based product visibility and security controls. Some routes and frontend modules are represented from the tree and README, so uncertain internal wiring is omitted; the sampled detail page shows optional EmailJS contact integration.
Main entry points: conecta.php DB connection · ProductCrud.js Product CRUD UI · ManageAddresses.php Address API · auth.php Auth and roles
Components 22
Buyer storefront
- Store page
public/commerce/pages/index.php - Store scripts
public/commerce/view/Script.js - Product catalog UI
public/commerce/view/modules/Product.js - Product feed
public/commerce/controller/produtos.php - Product details
public/commerce/view/modules/ProductPage.js - Buyer session API
public/commerce/controller/buyerAuth.php
Product management
- Product panel
public/admin/pages/index.php - Product CRUD UI
public/admin/assets/js/ProductCrud.js - List products
public/admin/model/ListarProduto.php - Save product
public/admin/controller/SalvarProduto.php - Update product
public/admin/controller/AtualizarProduto.php - Delete product
public/admin/controller/ExcluirProduto.php
Identity and access
- Login page
public/login.php - Auth and roles
src/model/auth.php - Security controls
src/model/security.php
Addresses and persistence
- Address interface
public/addresses/index.html - Address API
public/addresses/api/ManageAddresses.php - Marketplace database
banco/set2.sql - DB connection
src/model/conecta.php
Other components
- Buyer
- Seller or admin
- EmailJS
Connections 30
- Buyer → Store page: browses
- Store page → Store scripts: loads
- Store page → Product catalog UI: loads
- Product catalog UI → Product feed: requests catalog
- Product catalog UI → Product details: selects product
- Product details → Buyer session API: checks session
- Product details → Address API: loads addresses
- Product details → EmailJS: sends contact
- Seller or admin → Product panel: manages products
- Product panel → Auth and roles: checks roles
- Product panel → Security controls: creates CSRF token
- Product panel → Product CRUD UI: loads
- Product CRUD UI → List products: requests list
- Product CRUD UI → Save product: saves product
- Product CRUD UI → Update product: updates product
- Product CRUD UI → Delete product: deletes product
- Buyer → Login page: signs in
- Login page → Auth and roles: authenticates
- Auth and roles → DB connection: opens connection
- Address interface → Address API: manages addresses
- Address API → Auth and roles: checks session
- Address API → Security controls: checks CSRF
- Address API → DB connection: uses connection
- Product feed → DB connection: uses connection
- List products → DB connection: uses connection
- Save product → DB connection: uses connection
- Update product → DB connection: uses connection
- Delete product → DB connection: uses connection
- Buyer session API → Auth and roles: checks buyer role
- DB connection → Marketplace database: queries