PHPackages                             glivers/pressli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. glivers/pressli

ActiveProject[Framework](/categories/framework)

glivers/pressli
===============

Pressli CMS - A modern, lightweight content management system built on the Rachie PHP framework

v1.1.5(2mo ago)0111MITHackPHP &gt;=8.0.0

Since Jan 26Pushed 2mo agoCompare

[ Source](https://github.com/glivers/pressli)[ Packagist](https://packagist.org/packages/glivers/pressli)[ Docs](https://pressli.co.ke)[ RSS](/packages/glivers-pressli/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (18)Used By (0)

Pressli CMS
===========

[](#pressli-cms)

I built Pressli on the Rachie PHP framework to give you a complete CMS without the bloat. You can use it for blogs, marketing sites, or any content-driven website.

Here's what you get:

- A complete admin dashboard for managing your content
- Role-based permissions for your team
- Plugin and theme systems you can extend
- RESTful API if you want to go headless
- Service layer architecture that keeps your business logic clean

**Version:** 1.0.0 **Website:** **License:** MIT

---

Features
--------

[](#features)

### Content Management

[](#content-management)

You can create and manage blog posts with categories, tags, and featured images. Build static pages with parent-child hierarchies for your site structure. The built-in comment system lets you moderate discussions on your posts.

The media library handles all your uploads - images, documents, whatever you need. You can organize files, edit metadata, and insert them into your content.

### Site Management

[](#site-management)

Your navigation menus are drag-and-drop. Create multiple menus for different locations (header, footer, sidebar).

User management includes four roles out of the box: Admin, Editor, Author, and Subscriber. Each role has granular permissions you can control.

Themes separate your content from presentation. Switch themes without touching your content. The theme customizer lets you adjust colors, fonts, and layouts from the admin panel.

### Developer Features

[](#developer-features)

The annotation-driven ORM means you define your database schema in model docblocks. Change a model, run a migration - Pressli handles the rest.

The service layer (Post, Page, Comment, Media, Menu, Taxonomy) gives you reusable business logic. Call these services from controllers, API endpoints, or CLI commands.

Provider Registry loads data on-demand. Your themes declare what data they need, Pressli fetches only that. No wasted queries.

Content Registry lets plugins register custom post types. Build a job board, directory, events calendar - whatever your project needs.

Roline CLI gives you commands for scaffolding models, controllers, migrations, and database operations.

---

Requirements
------------

[](#requirements)

Before you install Pressli, make sure your server has:

- **PHP 8.0 or higher** - We use modern PHP features
- **MySQL 5.7+** or **MariaDB 10.2+** - For your database
- **Apache with mod\_rewrite** - For clean URLs
- **Composer** - To install dependencies

Your hosting should let you create databases and set file permissions. Most shared hosting and VPS providers support these requirements.

---

Installation
------------

[](#installation)

### Quick Start

[](#quick-start)

1. **Clone the repository**

    ```
    git clone https://github.com/glivers/pressli.git
    cd pressli
    ```
2. **Install dependencies**

    ```
    composer install
    ```
3. **Set up your database**

    Create a MySQL database for Pressli. You'll need:

    - Database name
    - Database username
    - Database password
    - Database host (usually `localhost`)
4. **Run the installation wizard**

    Point your browser to your Pressli installation:

    ```
    http://yourdomain.com/install

    ```

    The wizard walks you through:

    - Database connection setup
    - Admin account creation
    - Basic site settings

    Follow the on-screen instructions. The wizard tests your database connection before proceeding.
5. **Access your admin panel**

    After installation completes, go to:

    ```
    http://yourdomain.com/admin

    ```

    Log in with the credentials you created during installation.

### File Permissions

[](#file-permissions)

Make sure these directories are writable by your web server:

```
chmod -R 755 vault/
chmod -R 755 public/uploads/
```

On some servers, you might need `775` or `777`. Use the most restrictive permission that works.

---

Usage
-----

[](#usage)

### Creating Your First Post

[](#creating-your-first-post)

1. Log into your admin panel at `/admin`
2. Click **Posts** in the sidebar
3. Click **Add New Post**
4. Write your title and content
5. Add categories and tags if you want
6. Upload a featured image (optional)
7. Set status to **Published**
8. Click **Save**

Your post is now live on your site.

### Managing Users

[](#managing-users)

Go to **Users** in the admin panel. You can:

- Add new users with specific roles
- Edit user profiles
- Change user roles and permissions
- Delete users

The four default roles are:

- **Admin** - Full access to everything
- **Editor** - Can publish and manage all content
- **Author** - Can publish their own content
- **Subscriber** - Can only manage their profile

### Building Navigation Menus

[](#building-navigation-menus)

1. Go to **Menus** in the admin panel
2. Create a new menu or edit an existing one
3. Drag items from the left panel into your menu
4. Arrange items with drag-and-drop
5. Assign the menu to a location (Primary, Footer, etc.)
6. Save

Your theme determines where menu locations appear.

### Managing Themes

[](#managing-themes)

Go to **Themes** to switch between installed themes. Click **Customize** to adjust colors, fonts, and layouts without touching code.

If you're installing a new theme:

1. Upload the theme folder to `/themes/`
2. Go to **Themes** in admin
3. Click **Activate** on your new theme

---

Architecture
------------

[](#architecture)

### MVC Pattern

[](#mvc-pattern)

Pressli follows the Model-View-Controller pattern:

**Models** define your database schema and handle data operations. You write annotations in docblocks, and Pressli generates the database schema:

```
