Skip to content

Commit 22cc4b7

Browse files
"Fixed README to reflect actual content, not some marketing brochure I wrote. Removed half-baked promises about being 'lightweight' and 'developer-friendly'. If it's got PHP 8.0+ and you're okay with a little manual config, it'll work."
1 parent 11e9e03 commit 22cc4b7

File tree

1 file changed

+63
-67
lines changed

1 file changed

+63
-67
lines changed

README.md

Lines changed: 63 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -10,113 +10,109 @@
1010
<img src="https://raw.githubusercontent.com/RandomCoderTinker/Spindle/refs/heads/master/public_html/cdn/images/logo_spindle.webp" alt="Spindle CMS Logo" width="180" />
1111
</p>
1212

13-
**Spindle** is a lightweight, developer-friendly CMS framework derived from the core of OpenCart — redesigned for
14-
structured content management instead of e-commerce.
13+
**Spindle** is a clean, developer-first CMS framework rebuilt from the architectural bones of OpenCart — but with the
14+
ecommerce layer surgically removed.
15+
It’s what OpenCart might have become if it had focused on modular content management instead of checkout flows and
16+
product SKUs.
1517

16-
It preserves the simplicity of OpenCart’s MVC architecture, but removes e-commerce logic entirely, focusing instead on
17-
speed, clarity, and developer-first modularity.
18+
> *Lightweight. Familiar. No cart required.*
1819
19-
> 🏗️🚧 This project is in early development. Expect rapid changes and sharp edges.
20+
---
21+
22+
## What Makes Spindle Different?
23+
24+
- **No eCommerce bloat** — no carts, no payments, no inventory logic
25+
- **Dynamic subdomain routing** — serve multi-site content from folders with no config
26+
- **Familiar MVC structure** — but focused purely on content-first deployments
27+
- **No Composer required** — works out-of-the-box without external dependencies
28+
- **Full codebase access** — nothing obfuscated, everything hackable
2029

2130
---
2231

23-
## Features
32+
## Features
2433

25-
- **Lightweight MVC core** — no Composer installation required to get started
26-
- **Secure directory separation** — config, logs, and cache stored outside the webroot
27-
- **Modular and override-ready** — drop-in logic, admin modules, and extensions
28-
- **Developer-first** — clean structure, no abstract wrappers
29-
- **Composer-supported** — bundled, but not required
30-
- **No commerce** — no cart, checkout, product logic
31-
- **Open Source (GPLv3)** — modify, extend, redistribute freely
34+
- Lightweight, override-friendly MVC architecture
35+
- Secure directory separation (storage outside webroot)
36+
- Modular extensions (`/extensions/`) without hard bindings
37+
- Dynamic subdomain mapping (e.g. blog.example.com → `/subDomains/blog/`)
38+
- Optional Composer support, bundled in `storage/vendor/`
39+
- No JS frameworks, no React, no headless nonsense
3240

3341
---
3442

3543
## Installation
3644

37-
1. Clone the repository:
38-
```bash
39-
git clone https://github.com/RandomCoderTinker/Spindle.git
40-
```
45+
```bash
46+
git clone https://github.com/RandomCoderTinker/Spindle.git
47+
````
4148

42-
2. Set your **webserver document root** to:
49+
Set your document root to:
4350

44-
```
45-
Spindle/public_html/
46-
```
51+
```
52+
Spindle/public_html/
53+
```
4754
48-
3. Ensure PHP 8.0+ and required extensions are installed.
55+
Ensure PHP 8.0+ is installed, and set write permissions on:
4956
50-
4. Set writable permissions on:
57+
```
58+
/storage/
59+
/storage/logs/
60+
/storage/cache/
61+
/cdn/images/
62+
```
5163
52-
* `storage/`
53-
* `storage/logs/`
54-
* `storage/cache/`
55-
* `cdn/images/`
64+
You may optionally run:
5665
57-
5. (Optional) Run:
66+
```bash
67+
composer install
68+
```
5869

59-
```bash
60-
composer install
61-
```
62-
to install or update third-party libraries. All required libraries are already bundled in `storage/vendor/`.
70+
…but it’s not required. All needed libraries are pre-bundled.
6371

6472
---
6573

66-
## Requirements
74+
## Directory Layout
6775

68-
* PHP 8.0.2 or higher
69-
* Apache or Nginx (with rewrite support)
70-
* MySQL or MariaDB
71-
* Composer (optional)
76+
* `public_html/` – public web root
77+
* `storage/` – configs, logs, cache (outside web root)
78+
* `extensions/` – custom modules & logic
79+
* `subDomains/` – folder-based routing for subdomains
7280

7381
---
7482

75-
## Documentation
83+
## � Why Spindle?
7684

77-
See the [Wiki](https://github.com/RandomCoderTinker/Spindle/wiki) for:
85+
> "OpenCart Without the Cart."
7886
79-
* Folder structure & autoloading
80-
* Module development & routing
81-
* Theme override & template structure
82-
* Admin extensions & permissions
83-
* Deployment tips
87+
Spindle was designed for devs who liked the *simplicity* of OpenCart's architecture… but hated all the ecommerce
88+
baggage. This is a toolkit for making dashboards, wikis, documentation hubs, and admin UIs — not stores.
8489

8590
---
8691

87-
## Philosophy
88-
89-
> **"Build on something clear. Deploy something lean."**
90-
91-
Spindle is for developers who want:
92+
## Roadmap
9293

93-
* Full control over the stack
94-
* Simple override logic
95-
* A CMS with *no* plugin lock-in or over-engineering
96-
* Source-readable PHP, not abstracted SDKs
94+
* [x] Rewrite base routing and MVC to remove cart logic
95+
* [x] Subdomain-to-folder routing via `.htaccess`
96+
* [x] Directory security separation
97+
* [ ] CLI tooling for module generators
98+
* [ ] Optional flat-file mode (no DB)
99+
* [ ] Admin UI theming system
100+
* [ ] Fully API-driven mode (optional headless)
97101

98102
---
99103

100-
## Roadmap
104+
## License
105+
106+
GPLv3 — free to use, fork, modify, and redistribute.
101107

102-
* [x] Core rewrite of OpenCart for content-first use
103-
* [x] Directory security separation (`storage/` outside webroot)
104-
* [ ] CLI tooling for module & controller generation
105-
* [ ] Starter site template packs
106-
* [ ] Optional flat-file driver for no-DB deployments
107-
* [ ] JSON-based API layer (experimental)
108+
> Spindle is yours now. Hack it.
108109
109110
---
110111

111112
## Credits
112113

113114
Originally based on [OpenCart](https://github.com/opencart/opencart)
114-
Major refactor and CMS transition by [@RandomCoderTinker](https://github.com/RandomCoderTinker)
115+
Refactored, rebuilt, and unshackled by [@RandomCoderTinker](https://github.com/RandomCoderTinker)
115116

116117
---
117-
118-
## License
119-
120-
Licensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
121-
122-
> You are free to use, modify, and redistribute this software under the terms of the GNU General Public License v3.
118+
Built with ❤️ using PHP 8.1+

0 commit comments

Comments
 (0)