https://github.com/rizonesoft/isotone
A lightweight, modern PHP CMS built for shared hosting
https://github.com/rizonesoft/isotone
Last synced: 10 months ago
JSON representation
A lightweight, modern PHP CMS built for shared hosting
- Host: GitHub
- URL: https://github.com/rizonesoft/isotone
- Owner: rizonesoft
- License: mit
- Created: 2025-08-13T21:54:02.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-13T22:42:11.000Z (10 months ago)
- Last Synced: 2025-08-14T00:10:58.295Z (10 months ago)
- Language: PHP
- Homepage: https://isotone.tech
- Size: 141 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Isotone
> **Project Status:** π§ Early Development - Core foundation implemented
## Why Isotone?
**Isotone** (*/ΛaΙͺsΙtoΚn/*) takes its name from the mathematical concept of an isotone (order-preserving) functionβa transformation that maintains structure and relationships while allowing for growth and change. Just like its mathematical namesake, Isotone will preserve what matters (simplicity, reliability, compatibility) while transforming how modern content management should work.
In physics, isotonic means "equal tension"βand that's exactly what Isotone aims to bring to web development: perfect balance between power and simplicity, features and performance, flexibility and structure.
## π Features
### β
Implemented
- **Modern UI Design** - Dark theme with glassmorphism and electric accents
- **Custom SVG Logo** - Unique brand identity with gradient effects
- **Favicon System** - PNG-based favicons with web manifest for PWA support
- **SEO Optimization** - Meta tags, Open Graph, and Twitter Card support
- **Routing System** - Symfony-based routing with clean URLs
- **Environment Configuration** - config.php file support for configuration (no .env)
- **Composer Integration** - Modern PHP dependency management
- **PSR-12 Compliant** - Clean, standardized code structure
- **Database Integration** - RedBeanPHP ORM (no migrations needed)
- **Plugin System** - WordPress-compatible hooks with `iso_` prefix (add_action, add_filter)
- **Native Theme API** - Complete theming system with WordPress-compatible functions
- Template functions (bloginfo, home_url, get_template_directory_uri)
- Content loop system (have_posts, the_post, the_title, the_content)
- Conditional tags (is_home, is_single, is_page, is_archive)
- Template hierarchy and part loading
- Theme customization API (theme mods)
- **Authentication System** - User login with role-based permissions
- **Modern Admin Interface** - Responsive dashboard with collapsible sidebar
- Collapsible sidebar with submenus for all sections
- Top admin bar with quick actions and search
- Dashboard widgets (stats, analytics, quick draft, system health)
- User management with CRUD operations
- Breadcrumb navigation and toast notifications
- Dark/light mode toggle (UI ready)
- Mobile responsive with Alpine.js interactivity
- Chart.js integration for analytics visualization
### π§ In Development
- **Content Management** - Full posts and pages system with database storage
- **Media Library** - File upload and management
- **Admin Post Editor** - Create and edit content from admin panel
### π Planned Features
#### Built for Real-World Hosting
- **Shared hosting compatible** - Works on any standard PHP hosting
- **Lightweight core** - Under 10MB base installation
- **Resource efficient** - Runs smoothly on 128MB RAM
- **No Node.js required** - Pure PHP for maximum compatibility
#### Modern Developer Experience
- **RESTful API** - Headless CMS capabilities built-in
- **Markdown native** - Write content the way developers love
- **Git-friendly** - Version control your content and configuration
#### Performance First
- **Built-in caching** - Page, object, and query caching
- **Image optimization** - Automatic resizing and WebP conversion
- **Lazy loading** - Efficient resource loading
- **CDN ready** - Static asset optimization built-in
## π Target Requirements
- PHP 8.3 or higher
- MariaDB 10.6+ or MySQL 8.0+
- Apache or Nginx web server
- 50MB disk space (minimum)
- 128MB RAM (minimum)
For detailed requirements and technology stack, see [Technology Stack Documentation](docs/ISOTONE-TECH-STACK.md).
## π― Quick Start
### Prerequisites
- PHP 8.3 or higher
- MySQL/MariaDB
- Apache with mod_rewrite
- Composer
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/rizonesoft/isotone.git
cd isotone
```
2. **Install dependencies**
```bash
composer install
```
3. **Configure database**
```bash
cp config.sample.php config.php
# Edit config.php with your database credentials
```
- Create database in phpMyAdmin (e.g., `isotone_db`)
- Update `DB_NAME`, `DB_USER`, `DB_PASSWORD` in config.php
- Configuration follows standard PHP CMS pattern
4. **Run installation wizard**
```
http://localhost/isotone/install/
```
- Choose your Super Admin username
- Set your email and password
- No default credentials - you choose everything
5. **Access the site**
```
http://localhost/isotone/
```
6. **Security** (Important!)
- Delete `/install` directory after setup
- Or rename: `mv install install.backup`
For detailed setup instructions, see the [Development Setup Guide](docs/DEVELOPMENT-SETUP.md).
## ποΈ Project Structure
```
isotone/
βββ app/ # Core application code
β βββ Core/ # Core CMS functionality
β βββ Commands/ # CLI commands
β βββ Models/ # Data models
β βββ Services/ # Business logic
βββ iso-admin/ # Admin panel (coming soon)
βββ iso-includes/ # Shared resources
β βββ assets/ # Static assets (images, logos)
β βββ css/ # Modular CSS architecture
β β βββ base.css # Core variables & typography
β β βββ layout.css # Containers, grids & structure
β β βββ components.css # Buttons, forms, badges
β β βββ effects.css # Animations & glassmorphism
β β βββ isotone.css # Main import file
β βββ js/ # Global JavaScript files
β βββ scripts/ # PHP include scripts
βββ iso-content/ # User-generated content
β βββ plugins/ # Installed plugins
β βββ themes/ # Installed themes
β βββ uploads/ # Media uploads
βββ iso-runtime/ # System-generated files
β βββ cache/ # Page cache, compiled templates
β βββ logs/ # Application logs
β βββ temp/ # Temporary files
βββ config/ # Configuration files
βββ docs/ # LLM/Technical documentation (don't reorganize)
βββ user-docs/ # User-facing documentation (well organized)
βββ install/ # Installation wizard (delete after setup)
β βββ index.php # Web-based installer
βββ scripts/ # Automated/IDE scripts
βββ vendor/ # Composer dependencies
βββ config.php # Main configuration (create from config.sample.php)
βββ config.sample.php # Configuration template
βββ index.php # Main entry point
βββ .htaccess # Security & routing
βββ composer.json # PHP dependencies
βββ isotone # CLI tool
```
## π» Development
### Current Implementation Status
β
**Completed:**
- Project structure and organization
- Composer configuration with dependencies
- Basic routing system (Symfony Routing)
- Environment configuration (.env support)
- Front controller pattern
- PSR-4 autoloading
- Development environment setup
- Modular CSS architecture with glassmorphism effects
- Installation wizard with database setup
π§ **In Progress:**
- Database integration with RedBeanPHP
- Plugin/hook system
- Basic admin interface
π **Planned:**
- Complete admin dashboard
- Theme system
- REST API endpoints
- Media management
- Caching system
- CLI tools
### Getting Started with Development
See our comprehensive guides:
- [Development Environment Setup](docs/DEVELOPMENT-SETUP.md) - Set up XAMPP, Composer, and tools
- [Getting Started Guide](docs/GETTING-STARTED.md) - Learn Isotone basics and create your first plugin
### Running Tests
```bash
# Run all tests
composer test
# Check code style
composer check-style
# Static analysis
composer analyse
```
## π Documentation
### π User Documentation
**Well-organized guides for humans:** See [`user-docs/README.md`](user-docs/README.md)
- Installation & Setup Guides
- Configuration Documentation
- Developer Tutorials
- API Reference
- User Guides
### π€ Technical Documentation
**For LLMs and automated tools:** [`docs/`](docs/) (do not reorganize)
- [Configuration Guide](docs/CONFIGURATION.md) - Complete config.php documentation
- [Development Environment Setup](docs/DEVELOPMENT-SETUP.md) - Complete setup guide for Windows/Mac/Linux
- [Getting Started Guide](docs/GETTING-STARTED.md) - Learn the basics and build your first plugin
- [Technology Stack Specification](docs/ISOTONE-TECH-STACK.md) - Detailed technical architecture
- [CSS Architecture Guide](#css-architecture) - Modular CSS system documentation
### Coming Soon
- Installation Guide for Production
- User Manual
- API Reference
- Advanced Plugin Development
- Theme Development Guide
- Database Migration Guide
## π€ Contributing
We welcome contributions to Isotone!
### How You Can Help
- **Code Contributions** - Help implement core features
- **Documentation** - Improve guides and API docs
- **Testing** - Report bugs and write tests
- **Plugins/Themes** - Create extensions for the ecosystem
- **Ideas** - Suggest features and improvements
### Development Workflow
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests and code style checks
5. Submit a pull request
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
## π Security
### Reporting Security Issues
**Please do not report security vulnerabilities through public GitHub issues.**
Email: security@rizonetech.com
We'll respond within 48 hours and work with you to understand and resolve the issue.
### Planned Security Features
- Prepared statements for all database queries
- CSRF protection on all forms
- XSS prevention via automatic output escaping
- File upload validation and sanitization
- Built-in rate limiting
- Two-factor authentication support
## π Performance Targets
Target benchmarks for Isotone on a $5/month shared hosting plan:
| Metric | Target | vs WordPress (estimated) |
|--------|---------|-----------|
| First Paint | < 1s | ~60% faster |
| Time to Interactive | < 1.5s | ~65% faster |
| Memory Usage | < 15MB | ~70% less |
| Database Queries | < 10 | ~60% fewer |
## πΊοΈ Development Roadmap
### Phase 1: Foundation (Current)
- π Project planning and documentation
- π Technical architecture design
- π Development environment setup
### Phase 2: Core Implementation
- π Basic CMS functionality
- π Plugin/theme system
- π Admin interface
- π Content management
### Phase 3: Version 1.0 Features
- π REST API
- π Markdown support
- π Media management
- π Caching system
### Future Versions
- GraphQL API
- Advanced custom fields
- Multilingual support
- E-commerce capabilities
## π¨ CSS Architecture
Isotone uses a **modular and reusable CSS system** that eliminates duplication between pages. The architecture is organized into specialized files:
### CSS File Structure
- **`base.css`** - Core variables, typography, and resets
- **`layout.css`** - Containers, grids, backgrounds, and structural elements
- **`components.css`** - Buttons, forms, badges, cards, and UI components
- **`effects.css`** - Animations, transitions, and glassmorphism effects
- **`isotone.css`** - Main file that imports all modules
### Key Features
- **CSS Custom Properties** - Consistent theming with CSS variables
- **Glassmorphism Effects** - Modern frosted glass aesthetic
- **Responsive Design** - Mobile-first approach with breakpoints
- **BEM-like Naming** - Prefixed classes (`iso-`) for namespace isolation
- **Zero Duplication** - Shared styles across all pages
- **Page-Specific Overrides** - Minimal inline styles only when necessary
### Usage Example
```html
Isotone
Get Started
```
### π« IMPORTANT: No Inline CSS Rule
**For developers and LLM IDEs:** ALWAYS search for existing styles in the modular CSS system before creating new styles. If a style doesn't exist, evaluate if it can be made modular and reusable before resorting to inline CSS. We maintain a strict **NO INLINE CSS** policy to ensure consistency and maintainability.
## π Planned Technologies
Isotone will leverage these excellent open-source projects:
- [RedBeanPHP](https://redbeanphp.com) - Elegant ORM
- [Alpine.js](https://alpinejs.dev) - Lightweight reactivity
- [HTMX](https://htmx.org) - HTML-first interactions
- [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS
- [Lucide Icons](https://lucide.dev) - Beautiful icons
## π License
Isotone is open-source software licensed under the MIT License.
Copyright Β© 2025 Rizonetech (Pty) Ltd. All rights reserved.
## π¬ Get Involved
While the project is in planning phase, you can:
- Watch this repository for updates
- Share your ideas and feedback
- Help shape the future of Isotone
---
**A vision for modern content management**
Designed by developers, for developers who ship to production.
Β© 2025 [Rizonetech (Pty) Ltd](https://rizonetech.com). All rights reserved.