# Project Structure

HelperLink follows a custom MVC architecture in Native PHP.

```
/app
  /Controllers          # Handles HTTP requests
    /Api
      /Customer         # Customer API controllers
      /Vendor           # Vendor API controllers
      /Admin            # Admin API controllers
    /Web
      /Admin            # Admin Web Dashboard controllers
  /Models               # Database interaction and business logic
  /Services             # Shared business logic and external integrations
  /Middleware           # Request filtering (Auth, roles, etc.)
  /Requests             # Form request validation logic
  /Resources            # API response formatting and mapping

/config                 # Application configurations
  database.php          # Database credentials
  app.php               # App environment settings
  firebase.php          # Firebase credentials
  upload.php            # File upload settings

/helpers                # Global helper functions
  response.php          # JSON response wrapper
  auth.php              # JWT and token utilities
  validation.php        # Input validation helpers
  upload.php            # File upload logic
  pagination.php        # Pagination formatting
  security.php          # XSS, CSRF utilities

/migrations             # Database schema migrations (if automated)
/pos                    # Point of Sale related components (Future use)

/public                 # Document root (Web server entry point)
  index.php             # Front controller
  .htaccess             # URL rewriting rules
  /assets               # Static assets (CSS, JS, Images)
  /uploads              # User uploaded files

/resources
  /docs                 # Project documentation

/sql                    # Raw SQL schemas and seeds
  helperlink_schema.sql
  helperlink_seed.sql

/vendor                 # Composer dependencies (if any are introduced later)

/views                  # Admin dashboard templates
  /layouts              # Reusable template components (header, footer, sidebar)
  /admin                # Admin module views
```
