semhoun/slim-skeleton-mvc

Simple Slim Framework 4 skeleton with Twig, Monolog, Doctrine in Sqlite.

Installs: 1 260

Dependents: 0

Suggesters: 0

Security: 0

Stars: 84

Watchers: 6

Forks: 15

Open Issues: 0

Type:project

pkg:composer/semhoun/slim-skeleton-mvc

4.1.1 2024-12-05 09:25 UTC

This package is auto-updated.

Last update: 2026-01-10 21:06:37 UTC


README

Codacy Badge Latest Stable Version Total Downloads License

A modern web application skeleton based on Slim 4, using the MVC architecture. This project is ideal for quickly starting the development of an API or a web application with a robust stack.

๐Ÿš€ Features

๐Ÿ› ๏ธ Requirements

  • PHP 8.4 or higher
  • Composer 2.0 or higher
  • SQLite extension (or MySQL/PostgreSQL for production)
  • Required PHP extensions: json, pdo, pdo_sqlite

๐Ÿ› ๏ธ Installation

1. Create the project

Use Composer to install the project:

composer create-project semhoun/slim-skeleton-mvc [your-app]

2. Configuration

  1. Copy the .env.example file to .env:
cp .env.example .env
  1. By default, the application uses a SQLite database located in var/database.sqlite. For production, configure your database and other settings in the .env file or via environment variables.

  2. Initialize the database:

./console migrations:migrate
  1. (Optional) Generate Doctrine proxies:
./console orm:generate-proxies

3. Run the application

You can use the PHP built-in development server:

composer start

Or use the console command:

./console serve

The application will be accessible at http://localhost:8080.

4. Available Console Commands

# Clear application cache
./console cache:clear

# Initialize cache
./console cache:init

# Generate Doctrine proxies
./console orm:generate-proxies

# Run development server
./console serve

# List all available commands
./console list

๐Ÿงช Development Tools

Run unit tests:

composer test

Check code quality with PHP Insights:

composer insights-check

Apply automatic Rector fixes:

composer rector-fix

Fix code style issues:

composer insights-fix

Run pre-commit checks (code style + rector + dos2unix):

composer pre-commit

A compose.yml file is provided to facilitate deployment. Here is a configuration example:

services:
  slim:
    image: semhoun/webserver
    ports:
      - "8080:80"
    volumes:
      - .:/www
    environment:
      - APP_ENV=dev
      - DEBUG_MODE=true

To launch the environment with Docker:

docker compose up -d

๐Ÿ“ Notes

  • Ensure that the var folder has write permissions (for cache, logs, database)
  • Default credentials: admin / admin (change in production!)
  • The project includes an error rendering system (HTML/JSON) based on the Accept header
  • API routes are prefixed with /api (configurable in config/settings/_base_.php)

๐Ÿ“š Documentation

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for more details.

๐Ÿ”„ Changelog

See the CHANGELOG.md file for version history and upcoming changes.