Available for new projectsDiscuss a project
Product documentation

The Urban Static Store

Complete installation, store setup, Stripe, catalogue, administration, licensing, customization, troubleshooting and release guidance for The Urban Static Store.

The Urban Static Store product cover showing the original black, bone and signal-orange streetwear storefront identity
Official Urban Static product cover · fictional demonstration imagery
01 / Start here

Product overview

The Urban Static Store is a complete ecommerce website package, not a static shop mockup. Its campaign-led public store, customer accounts and focused administration share one inventory and order database, protected by mandatory domain-bound activation.

ProductThe Urban Static Store
Version1.0.0
AuthorFrey Gabor
LicenceOne product / one exact domain

Included capabilities

  • Editorial storefrontOriginal graphite, bone and signal-orange campaign design, six collections, product discovery, variant selection, cart and account journeys.
  • Commerce workflowSKU-level stock, coupons, Stripe Checkout, signed webhook fulfilment, order history, transactional notifications and password recovery.
  • Focused administrationDashboard, catalogue, categories, variants, orders, customers, coupons, content, email, store settings, Coming Soon mode and licence status.
  • Protected deliveryRetry-safe database installation, secure sessions, throttled login, encrypted secrets, signed one-domain licensing and finite offline grace.
02 / Installation

Fresh installation

Prepare the final HTTPS hostname and an empty database before uploading. The installer will not expose the public store or administration until database setup and licence activation both succeed.

  1. 01

    Upload the complete package

    Extract the release directly inside the licensed domain folder. Preserve .htaccess and keep app, config, storage and tests protected.

  2. 02

    Pass the server checks

    Open install.php and confirm PHP 8.2, PDO MySQL, cURL, OpenSSL, JSON, mbstring, Fileinfo, sessions and writable configuration/storage.

  3. 03

    Connect the database

    Enter the hosting provider’s exact database host, port, name, user and password. The installer uses PDO, utf8mb4 and retry-safe table creation.

  4. 04

    Configure the store and administrator

    Set the store name, canonical URL, currency, timezone, email and a unique strong administrator password. Stripe keys can be added now or later.

  5. 05

    Activate the licence

    Enter the key purchased for urban-static-store and the exact canonical hostname. Successful signature verification completes the installation and creates the atomic lock.

  6. 06

    Perform launch checks

    Sign in, replace demonstration content, configure email and Stripe, test a low-value order, verify webhook fulfilment, then switch from Coming Soon to public.

03 / Setup guide

Store, Stripe and email setup

Keep Coming Soon enabled while completing the commercial settings. Test every payment and email path with non-production customer data before launch.

  • Store identityReview name, contact email, currency, timezone, delivery wording, homepage copy, navigation, footer, FAQ and legal policies.
  • CatalogueReplace all fictional products, upload properly licensed images, set prices, sizes, colours, unique SKUs and accurate stock for every sellable variant.
  • StripeCreate restricted live keys, add the supplied webhook endpoint, subscribe to checkout.session.completed and payment-intent events used by the package, then save the signing secret.
  • EmailSave a verified sender, SMTP host, port, encryption and credentials. Send the built-in test before relying on customer or administrator notices.
  • Checkout testUse Stripe test mode first. Confirm cart totals, coupon rules, webhook signature, stock decrement, order state, customer history and notifications.
04 / Administration

Focused store administration

The administration covers the operational needs of one independent store without introducing general-purpose CMS or multi-tenant complexity.

AreaPurposeImportant behavior
DashboardOrders, revenue and inventory signalsLicence and Coming Soon state remain visible
ProductsCopy, prices, images, variants and publicationStock is held at SKU/variant level
CollectionsMerchandising groups and orderingOnly active collections appear publicly
OrdersPayment, fulfilment and internal notesPaid state is set only after verified Stripe events
CustomersAccount status and order historyPasswords are never readable
CouponsPercentage or fixed reductionsDate, status and product scope are validated server-side
Content and settingsHomepage, legal, email, Stripe and maintenanceSecrets are encrypted and masked after saving
LicenceStatus, next check and manual validationNo local domain transfer or release action exists
05 / Licensing

Activation, validation and recovery

shop.freygabor.com is authoritative for the product, exact domain, activation, expiry and revocation state. The package never generates a key and contains only the public verification key.

  • One key belongs to urban-static-store and one exact normalized hostname.
  • The installer sends activation from PHP over HTTPS and verifies the RSA-SHA256 signature locally.
  • www, root and every subdomain remain distinct unless the licensing service explicitly returns otherwise.
  • The retained licence key is AES-256-GCM encrypted with the random application key; interfaces show only a masked hint.
  • Normal traffic uses the signed cache. Remote validation occurs only after its interval or on a manual administrator check.
  • Temporary network failure uses a finite grace period and is not treated as revocation.
  • Explicit invalid, mismatched, expired, suspended or revoked state protects content without deleting store data.
  • A new hostname requires a new licence. The package cannot deactivate, release or substitute a domain locally.
06 / Customization

Brand, catalogue and design

No Node.js process is required in production. The readable PHP, CSS and JavaScript can be customized after a complete backup while retaining security and accessibility behavior.

  • IdentityReplace the favicon, wordmark text, brand narrative and metadata. Keep the Frey Gabor authorship and commercial-licence notices in distributed source.
  • Palette and typographyEdit the documented CSS custom properties for graphite, bone and signal orange, then recheck contrast, focus, hover and error states.
  • Product imageryUse consistent aspect ratios, truthful alternative text and commercially licensed optimized images. Avoid embedding private metadata.
  • ContentReplace demonstration collections, products, policies, FAQs and editorial text through the focused administration wherever available.
  • TemplatesBack up before PHP edits and preserve output escaping, CSRF fields, prepared database access and authorization checks.
07 / Troubleshooting

Common problems

Use friendly browser messages together with private logs. Never expose database credentials, payment secrets, filesystem paths, signed tokens or full licence data.

Database connection fails

Use the exact hosting database hostname and prefixed database/user names. Confirm the assigned user has privileges on the selected database.

Installation was interrupted

Return with the same database. Retry-safe table creation and installation metadata allow setup to continue without duplicating completed schema.

Licence reports domain or subdomain mismatch

Compare the exact canonical hostname, including www. Do not edit the binding or signed token; use the purchased domain or obtain a new licence.

Stripe checkout returns but the order remains pending

Confirm the HTTPS webhook URL, subscribed events, signing secret, server time and Stripe delivery log. Never mark paid from the browser return alone.

Customer email does not arrive

Verify sender approval, SMTP/API credentials, encryption and port, DNS authentication and hosting outbound restrictions. Inspect private email logs.

A variant appears unavailable

Check product publication, variant SKU, size, colour and stock. Cart validation intentionally refuses quantities that exceed the current SKU stock.

08 / Security

Production security, backup and update

The package supplies secure defaults, while the store owner remains responsible for supported hosting, payment account security, accurate policies, retention and updates.

  • Enforce HTTPS, use unique administrator/database/SMTP/Stripe credentials and enable multi-factor authentication in Stripe and hosting.
  • Keep PHP and MySQL or MariaDB supported and current; disable production error display.
  • Verify direct browser access to app, config, storage, tests, logs and backups is denied.
  • Retain secure cookies, CSRF, prepared statements, throttling, CSP, clickjacking and MIME-sniffing protections.
  • Back up the database, uploaded product images, config.php, application key, atomic lock and storage/licence together.
  • Test restores only on the same licensed domain. Never copy production Stripe secrets into a staging clone.
  • Before updating, read the changelog, back up, preserve config and uploads, apply changed files, then retest checkout and licence validation.
FAQ

Frequently asked questions

Short answers to common installation, ownership, licensing and support questions.

Where is the administrator login?

After installation and activation, use index.php?route=login and sign in with the administrator created in the wizard.

Are the supplied products and campaign people real?

No. They are original fictional demonstration content and do not represent a real fashion label, endorsement or completed client project.

Does the store require Stripe?

Stripe is required for live card checkout. The storefront and administration can be configured before live Stripe keys are added.

Can stock be controlled per size and colour?

Yes. Inventory is stored per SKU variant, and server-side cart checks prevent purchasing more than the current stock.

Can I reinstall on the same domain?

Yes, subject to server validation. Use the same exact normalized hostname and reactivate through the licensing service.

Can I move the store to another domain or subdomain?

Not with the same licence. Every different hostname requires a new licence.

Does a temporary licensing outage immediately close the store?

No. A previously valid signed state continues only within the configured finite grace period. Explicit invalidation or expired grace protects content.

Does production require Node.js?

No. Production uses PHP, MySQL or MariaDB, the supplied CSS and vanilla JavaScript.

What should a support request include?

Include product, PHP and database versions, exact hostname, friendly error code and reproducible steps. Never include passwords, full keys, payment secrets or tokens.

Release history

Changelog

Review the release notes before updating an installed website.

v1.0.01 Aug 2026

Initial commercial release

  • Added the original Urban Static identity, responsive campaign storefront and six fictional collections.
  • Added twenty-four fictional products, variant-level SKUs, inventory, cart and customer accounts.
  • Added Stripe Checkout, signed webhook fulfilment, coupons, orders and transactional notifications.
  • Added focused catalogue, collection, order, customer, coupon, content and settings administration.
  • Added Coming Soon mode with administrator preview access.
  • Added the six-stage retry-safe PHP installer and mandatory signed one-domain activation.
  • Added local signature verification, scheduled validation, finite grace and licence recovery.
  • Added complete installation, setup, Stripe, customization, security, backup, FAQ and troubleshooting guidance.
Documentation did not solve it?

Send a safe, reproducible support request.

Include Urban Static version 1.0.0, PHP and database versions, the final hostname, expected behaviour, steps to reproduce and redacted log excerpts.

Do not send passwords, API secrets, database dumps, application keys or a complete licence key.