How vladimirzobachov/mycrm works
Purpose and Entry Points
This is a server-rendered PHP application centered on user accounts and order workflows, inferred from order, user, login, registration, and notification templates. The HTTP entry point is index.php; Apache routing/access behavior may be controlled by .htaccess. The supplied README is empty.
Request and Presentation Layer
index.php likely coordinates request dispatch, authentication/session behavior, form handling, database access, and template rendering. HTML views are file-based rather than a frontend application:
• templates/index.html
• templates/mai_create_order_owner.html
• templates/users.html
Static browser assets are served from:
• media/base.js
• media/style.css
• media/jquery-ui.js
Order and User Workflow Domain
The principal domain boundary is an order-management process with distinct owner, administrator, and mounter-oriented communications. Templates indicate create, edit, status-change, and comment-change events, with separate recipient variants:
• templates/mai_create_order_owner.html
• templates/mail_change_status_for_admin.html
• templates/mail_bind_mounter.html
User lifecycle screens are represented by templates/login.html, templates/register.html, and templates/user.html.
Form Input and Configuration
Form definitions or field mappings are centralized separately from rendering, suggesting a configurable request-validation/data-binding boundary:
• includes/form.class.php
• configs/form_data.php
This layer should translate HTTP form data into domain/database operations and select resulting templates or notification actions.
Persistence Boundary
Database access is abstracted behind a concrete class and interface, with connection settings isolated from consumers:
• includes/db_interface.class.php
• includes/db.class.php
• includes/dbconfig.php
No database engine or schema is present in the tree. Treat the interface as the primary seam for persistence changes and avoid coupling request/template code directly to connection details.
Notification Delivery
Email notifications are a first-class side effect of order changes. Application mail orchestration and templates are separated from the vendored PHPMailer transport implementation:
• includes/phpmailer/mailer.php
• includes/phpmailer/PHPMailer.php
• templates/mail_create_order_for_admin.html
The external-service boundary is SMTP/email delivery; host credentials and transport choices are not visible in the supplied files.
Spreadsheet Export Capability and Runtime
The repository vendors PHPExcel, providing workbook creation, calculation, import/export, and format writers. It is likely available for reporting or data export, although no application-level caller is visible:
• includes/PHPExcel/Classes/PHPExcel.php
• includes/PHPExcel/Classes/PHPExcel/IOFactory.php
• includes/PHPExcel/Classes/PHPExcel/Writer/Excel2007.php
The runtime is PHP deployed behind Apache. PHPExcel may rely on PHP extensions or optional cache backends, but their deployment configuration is not represented here.
Components 19
HTTP & UI
- Apache routing · Routes requests and controls access behavior.
.htaccess - Application entry · Coordinates dispatch, sessions, forms, persistence, and rendering.
index.php - Form binding · Maps request fields for validation and data binding.
includes/form.class.php - Form definitions
configs/form_data.php - Page templates · Server-rendered index, order, and user pages.
templates/index.html - User lifecycle views · Login, registration, and user account screens.
templates/login.html - Browser assets · JavaScript, jQuery UI, and stylesheet resources.
media/base.js
Workflows
- Order workflow · Creates and updates orders, statuses, assignments, and comments.
templates/mai_create_order_owner.html - User accounts · Authentication and registration lifecycle.
templates/user.html
Persistence
- Database interface · Primary abstraction for persistence consumers.
includes/db_interface.class.php - Database adapter
includes/db.class.php - Connection settings
includes/dbconfig.php
Notifications
- Mail orchestration · Builds order-change notifications and invokes mail transport.
includes/phpmailer/mailer.php - Order mail templates · Recipient-specific order notification content.
templates/mail_create_order_for_admin.html - PHPMailer transport
includes/phpmailer/PHPMailer.php - SMTP/email delivery · External email transport boundary.
Export runtime
- PHPExcel · Workbook creation, import/export, calculation, and format writers.
includes/PHPExcel/Classes/PHPExcel.php - Excel IO factory
includes/PHPExcel/Classes/PHPExcel/IOFactory.php - Excel 2007 writer
includes/PHPExcel/Classes/PHPExcel/Writer/Excel2007.php
Connections 18
- Apache routing → Application entry: routes requests
- Application entry → Form binding: binds forms
- Form binding → Form definitions: uses mappings
- Application entry → Page templates: renders pages
- Application entry → User lifecycle views: renders account views
- Page templates → Browser assets: loads assets
- Form binding → Order workflow: submits order actions
- Form binding → User accounts: submits account actions
- Order workflow → Database interface: persists orders
- User accounts → Database interface: persists users
- Database interface → Database adapter: implemented by
- Database adapter → Connection settings: reads settings
- Order workflow → Mail orchestration: triggers notifications
- Mail orchestration → Order mail templates: renders messages
- Mail orchestration → PHPMailer transport: sends via
- PHPMailer transport → SMTP/email delivery: delivers email
- PHPExcel → Excel IO factory: loads IO support
- Excel IO factory → Excel 2007 writer: selects writer