Skip to content

RandomCoderTinker/Spindle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Spindle CMS

License: GPLv3 PHP Version Build Status Project Status: WIP Open Source Love

Spindle CMS Logo

Spindle is a clean, developer-first CMS framework rebuilt from the architectural bones of OpenCart — but with the ecommerce layer surgically removed.
It’s what OpenCart might have become if it had focused on modular content management instead of checkout flows and product SKUs.

Lightweight. Familiar. No cart required.


What Makes Spindle Different?

  • No eCommerce bloat — no carts, no payments, no inventory logic
  • Dynamic subdomain routing — serve multi-site content from folders
  • Shared folders and models — Use a shared folder for subdomains and other content
  • Familiar MVC structure — but focused purely on content-first deployments
  • No Composer required — works out-of-the-box without external dependencies
  • Full codebase access — nothing obfuscated, everything hackable

✨ Features

  • Lightweight, override-friendly MVC architecture
  • Secure directory separation (storage outside webroot)
  • Modular extensions (/extensions/) without hard bindings
  • Dynamic subdomain mapping (e.g. blog.example.com → /subDomains/blog/)
  • Optional Composer support, bundled in storage/vendor/
  • No JS frameworks, no React, no headless nonsense

Installation

git clone https://github.com/RandomCoderTinker/Spindle.git

Set your document root to:

Spindle/public_html/

Ensure PHP 8.0+ is installed, and set write permissions on:

/storage/
/storage/logs/
/storage/cache/
/cdn/images/

You may optionally run:

composer install

…but it’s not required. All needed libraries are pre-bundled.


Directory Layout

  • public_html/ – public web root
  • public_html/app – Main website
  • public_html/cdn – CDN folder for faster load speeds (Set up with VHOST or cloudflare caching)
  • public_html/data – Manifest data and images (if required)
  • public_html/subDomains – folder-based routing for subdomains
  • public_html/shared – Shared utilities (Models, Views, Controllers)
  • public_html/system – All system components
  • storage/ – configs, logs, cache (outside web root)

Why Spindle?

"OpenCart Without the Cart."

Spindle was designed for devs who liked the simplicity of OpenCart's architecture… but hated all the ecommerce baggage. This is a toolkit for making dashboards, wikis, documentation hubs, and admin UIs — not stores.


Roadmap

  • Rewrite base routing and MVC to remove cart logic
  • Subdomain-to-folder routing via .htaccess
  • Directory security separation
  • Everything else
  • Example usages
  • Future updates

License

GPLv3 — free to use, fork, modify, and redistribute, would be MIT, but have to stick with opencart's license.

Spindle is yours now. Hack it.


Credits

Originally based on OpenCart Refactored, rebuilt, and unshackled by @RandomCoderTinker


Built with ❤️ using PHP 8.1+

About

Lightweight, developer-first CMS framework derived from OpenCart — stripped of commerce, built for content.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published