PHPackages                             anunes/frame - 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. [Admin Panels](/categories/admin)
4. /
5. anunes/frame

ActiveProject[Admin Panels](/categories/admin)

anunes/frame
============

00PHP

Since Apr 28Pushed 2mo agoCompare

[ Source](https://github.com/anunes/frame)[ Packagist](https://packagist.org/packages/anunes/frame)[ RSS](/packages/anunes-frame/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Frame - Production Build
========================

[](#frame---production-build)

This is a production-ready build of the Frame application.

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

[](#requirements)

- PHP 7.4 or higher
- PHP Extensions: PDO, Intl
- Composer (for PHP dependency management)
- Node.js and npm (for frontend assets)
- Web server (Apache/Nginx)
- MySQL or SQLite database

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

[](#installation)

1. Clone the repository:

    ```
    git clone https://github.com/anunes/frame.git
    cd frame
    ```
2. Install PHP dependencies:

    ```
    composer install --no-dev --optimize-autoloader
    ```
3. Install Node.js dependencies:

    ```
    npm install
    ```
4. Configure your web server to point to the `public` directory as the document root
5. Set up environment configuration:

    ```
    cp .env.example .env
    ```
6. Edit `.env` file with your database credentials and application settings
7. Set proper permissions:

    ```
    chmod -R 755 core/storage
    chmod -R 755 core/database
    ```
8. Run database setup:

    - For MySQL: Import `core/database/schema.sql`
    - For SQLite: Import `core/database/schema_sqlite.sql`

    Both schema files create an initial administrator account:

    - Name: `Admin`
    - Email: `admin@admin.com`
    - Password: `admin`

    Change this password immediately after your first login.
9. Configure database settings using:

    ```
    php core/database/setup_settings.php
    ```

Web Server Configuration
------------------------

[](#web-server-configuration)

### Apache

[](#apache)

Ensure you have `.htaccess` enabled with `mod_rewrite`:

```

    DocumentRoot /path/to/frame/public

        AllowOverride All
        Require all granted

```

### Nginx

[](#nginx)

```
server {
    listen 80;
    server_name your-domain.com;
    root /path/to/frame/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
```

Directory Structure
-------------------

[](#directory-structure)

```
build/
├── core/               # Framework internals
│   ├── app/            # Application code
│   ├── database/       # Database schemas and migrations
│   └── storage/        # Writable storage (cache, uploads, logs)
├── files/              # User content modules
├── public/             # Web accessible files (document root)
├── .env.example        # Environment configuration template
├── composer.json       # PHP dependencies manifest
├── composer.lock       # PHP dependencies lock file
├── package.json        # Node.js dependencies manifest
├── package-lock.json   # Node.js dependencies lock file
└── frame              # CLI console tool

```

**Note:** The `vendor/` and `node_modules/` directories are not included. Run `composer install` and `npm install` to download dependencies.

User Content Modules
--------------------

[](#user-content-modules)

Frame can scaffold self-contained content modules inside `files/`. This keeps user-created features separate from the framework code in `core/app/`.

Create a module:

```
php frame make:module employees
```

This creates:

```
files/employees/
├── controllers/
├── models/
├── views/
└── routes/

```

It also creates starter controller, model, view, and route files. The generated route is available at `/employees`, and module views use namespace notation:

```
view('employees::index');
```

To make a module handle the home page, create it with `--start`:

```
php frame make:module employees --start
```

To add the module to the main navbar between Home and About:

```
php frame make:module employees --nav
```

You can also customize the generated navbar label and Bootstrap icon:

```
php frame make:module employees --nav --nav-label="Team" --nav-icon=bi-people
```

Or choose the starting module later:

```
php frame module:start employees
```

Return to the original Frame start page:

```
php frame module:start --clear
```

Delete a module completely from `files/`:

```
php frame module:delete employees --force
```

This removes the full `files/employees/` folder, clears compiled view cache, removes its module navbar entry, and updates `.env` if the module was listed in `APP_MODULES` or selected in `APP_START_MODULE`. It does not delete database tables or uploaded files outside the module folder.

Module loading can be configured in `.env`:

```
APP_MODULES=
APP_START_MODULE=employees
```

Leave `APP_MODULES` empty to auto-load every valid module folder in `files/`. Set it to a comma-separated list, such as `employees,products`, to load only specific modules. Leave `APP_START_MODULE` empty to use the original Frame start page.

Support
-------

[](#support)

For issues and documentation, please refer to the main project repository.

CLI Instructions
----------------

[](#cli-instructions)

For step-by-step `php frame` usage, see [FRAME\_CLI.md](FRAME_CLI.md).

###  Health Score

19

—

LowBetter than 9% of packages

Maintenance56

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1692570?v=4)[anunes](/maintainers/anunes)[@anunes](https://github.com/anunes)

---

Top Contributors

[![anunes](https://avatars.githubusercontent.com/u/1692570?v=4)](https://github.com/anunes "anunes (8 commits)")

### Embed Badge

![Health badge](/badges/anunes-frame/health.svg)

```
[![Health](https://phpackages.com/badges/anunes-frame/health.svg)](https://phpackages.com/packages/anunes-frame)
```

###  Alternatives

[dog-ears/crud-d-scaffold

Extend Laravel 7's generators scaffold.

183.1k](/packages/dog-ears-crud-d-scaffold)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
