76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# Setup And Landing Pages
|
|
|
|
This spec covers public entry, setup, and static marketing/legal pages outside the authenticated app.
|
|
|
|
## Root Redirect
|
|
|
|
Route: `index.php`
|
|
|
|
The repository root index loads `app/config.php`, reads `$base_url`, and redirects users to `landing/`.
|
|
|
|
## Landing Home
|
|
|
|
Route: `landing/index.php`
|
|
|
|
The landing page is a public marketing page for MN3 WMS. It uses shared landing includes and assets under `landing/includes`, `landing/css`, `landing/js`, and `landing/images`.
|
|
|
|
Primary behavior:
|
|
|
|
- Builds `$base` from `$base_url . '/landing'`.
|
|
- Builds `$app_url` from `$base_url . '/app'`.
|
|
- Shows product positioning for warehouse, stock, fulfillment, barcode, and reporting workflows.
|
|
- Links primary calls to action to `app/login/index.php`.
|
|
- Includes public navigation, footer, and landing scripts.
|
|
|
|
## Legal Pages
|
|
|
|
Routes:
|
|
|
|
- `landing/privacy.php`
|
|
- `landing/terms.php`
|
|
|
|
Both pages load `app/config.php`, landing head/nav/footer includes, and render static legal copy.
|
|
|
|
Privacy page sections:
|
|
|
|
- Information collected.
|
|
- How information is used.
|
|
- Session/authentication data.
|
|
- Company data isolation.
|
|
- Data retention.
|
|
- Security.
|
|
- Cookies.
|
|
- User rights.
|
|
- Policy changes.
|
|
- Contact email.
|
|
|
|
Terms page sections:
|
|
|
|
- Use of service.
|
|
- Account security.
|
|
- Data ownership.
|
|
- Acceptable use.
|
|
- Service availability.
|
|
- Limitation of liability.
|
|
- Term changes.
|
|
- Contact email.
|
|
|
|
## Setup Script
|
|
|
|
Route/file: `setup.php`
|
|
|
|
`setup.php` is not a web page. It is intentionally CLI-only:
|
|
|
|
```bash
|
|
php setup.php
|
|
```
|
|
|
|
If accessed over HTTP, it returns `403` with the message `Run via CLI only: php setup.php`.
|
|
|
|
The setup script creates the configured databases and core tables if they do not already exist. It is safe to rerun for table creation because it uses `CREATE TABLE IF NOT EXISTS`, but it is not a migration runner for arbitrary schema changes.
|
|
|
|
## Out Of Scope
|
|
|
|
- Authenticated app routing is covered by `runtime-architecture.md` and the feature specs for each module.
|
|
- Business setup after registration/onboarding is covered by `system-settings.md` and the master-data/accounting specs.
|