PHPackages                             amir-icecream/frostel - 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. amir-icecream/frostel

ActiveProject[Framework](/categories/framework)

amir-icecream/frostel
=====================

A simple MVC framework

v1.0.0(11mo ago)05GPL-3.0PHPPHP ^8.2.0

Since Jul 27Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/amirithm-dev/frostel)[ Packagist](https://packagist.org/packages/amir-icecream/frostel)[ RSS](/packages/amir-icecream-frostel/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

🌨️ Frostel
==========

[](#️-frostel)

A lightweight, expressive PHP MVC framework built for developers who want full control — without the bloat.

> Inspired by Laravel's elegance, built from scratch with PHP 8.2+

---

✨ Features
----------

[](#-features)

- **MVC Architecture** — clean separation of Models, Views, and Controllers
- **Custom Router** — define routes with full HTTP method support
- **Middleware Support** — protect routes with reusable middleware layers
- **Database Migrations** — version-controlled schema management
- **Service Layer** — keep your business logic organized and testable
- **Blade-style Templating** — familiar, expressive view rendering
- **Snowflake CLI** — Artisan-inspired command line tool for scaffolding
- **Environment Config** — `.env` support via `vlucas/phpdotenv`
- **Mailer** — built-in email support via Symfony Mailer
- **HTTP Client** — make external API requests via Symfony HTTP Client
- **Tailwind CSS** — frontend styling out of the box
- **PHP 8.2+** — modern PHP, modern code

---

📦 Installation
--------------

[](#-installation)

Install via Composer:

```
composer create-project amir-icecream/frostel my-app
cd my-app
```

Copy the environment file and configure it:

```
cp .env.example .env
```

Start the development server using Snowflake:

```
php Snowflake serve
```

---

🗂️ Project Structure
--------------------

[](#️-project-structure)

```
├── app/                  # Controllers, Models
├── config/               # App configuration files
├── core/                 # Framework engine (Router, Console, Helper, etc.)
├── database/
│   └── migrations/       # Database migration files
├── public/               # Entry point (index.php), assets
├── resource/             # Views and templates
├── routes/               # Route definitions
├── services/             # Business logic service classes
├── storage/              # Logs, cache, uploaded files
├── templates/framework/  # Scaffolding templates used by Snowflake CLI
├── vendor/               # Composer dependencies
├── .env                  # Environment variables
├── Snowflake             # CLI tool
└── tailwind.config.js    # Tailwind CSS config

```

---

🛣️ Routing
----------

[](#️-routing)

Define your routes in the `routes/` directory:

```
use Core\Router;

Router::get('/home', [HomeController::class, 'index']);
Router::post('/user/create', [UserController::class, 'store']);

// With middleware
Router::get('/dashboard', [DashboardController::class, 'index'])->middleware('auth');
```

---

🎮 Snowflake CLI
---------------

[](#-snowflake-cli)

Frostel ships with **Snowflake**, a command-line tool for scaffolding and managing your app.

```
php Snowflake help              # Show all available commands

php Snowflake serve             # Start development server
php Snowflake make:controller UserController
php Snowflake make:model User
php Snowflake make:view dashboard
php Snowflake make:middleware AuthMiddleware
php Snowflake make:migration create_users_table

php Snowflake migrate           # Run all migrations
php Snowflake migrate:reset     # Rollback all migrations
php Snowflake migrate:fresh     # Reset and re-run all migrations

php Snowflake view-fresh        # Clear cached views
php Snowflake delete-logs       # Clear log files
```

---

🗃️ Migrations
-------------

[](#️-migrations)

Create and manage your database schema:

```
php Snowflake make:migration create_posts_table
php Snowflake migrate
```

---

🛡️ Middleware
-------------

[](#️-middleware)

Create middleware to protect routes or modify requests:

```
php Snowflake make:middleware AuthMiddleware
```

```
namespace App\Middleware;

use Core\Middleware;

class AuthMiddleware extends Middleware
{
    public function handle(): void
    {
        if (!isset($_SESSION['user'])) {
            header('Location: /login');
            exit;
        }
    }
}
```

---

📧 Mailer
--------

[](#-mailer)

Send emails using the built-in Symfony Mailer integration:

```
use Services\MailService;

MailService::send(
    to: 'user@example.com',
    subject: 'Welcome to Frostel',
    body: view('emails.welcome')
);
```

---

⚙️ Environment Configuration
----------------------------

[](#️-environment-configuration)

All configuration is managed through `.env`:

```
APP_NAME=Frostel
APP_ENV=local
APP_URL=http://localhost:8000

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=frostel
DB_USERNAME=root
DB_PASSWORD=

MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
```

---

📋 Requirements
--------------

[](#-requirements)

- PHP `^8.2`
- Composer
- MySQL or compatible database

---

📦 Dependencies
--------------

[](#-dependencies)

PackagePurpose`vlucas/phpdotenv`Environment variable loading`hekmatinasser/verta`Jalali/Persian date support`symfony/mailer`Email sending`symfony/http-client`HTTP client for external APIs---

📄 License
---------

[](#-license)

Frostel is open-source software licensed under the [GPL-3.0 License](LICENSE).

---

👤 Author
--------

[](#-author)

Built with ❤️ by [amirithm-dev](https://github.com/amirithm-dev)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance75

Regular maintenance activity

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

343d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c77ab0fe0e479f9ab5ad2e2d43586579ea1fe39e006c9b3299175711d54a1df3?d=identicon)[amirithm-dev](/maintainers/amirithm-dev)

---

Top Contributors

[![amirithm-dev](https://avatars.githubusercontent.com/u/175755211?v=4)](https://github.com/amirithm-dev "amirithm-dev (2 commits)")

### Embed Badge

![Health badge](/badges/amir-icecream-frostel/health.svg)

```
[![Health](https://phpackages.com/badges/amir-icecream-frostel/health.svg)](https://phpackages.com/packages/amir-icecream-frostel)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[lion/bundle

Lion-framework configuration and initialization package

122.4k4](/packages/lion-bundle)[doppar/framework

The Doppar Framework

4012.4k14](/packages/doppar-framework)

PHPackages © 2026

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