Skip to content

SlimeKit is a lightweight enhancement of the Slim Framework that brings modern architectural structure to your PHP applications.

Notifications You must be signed in to change notification settings

renofizaldy/SlimeKit

Repository files navigation

SlimeKit Logo

SlimeKit

💚 Not the monster you think. Just a better Slim.

SlimeKit is a lightweight enhancement of the Slim Framework that brings modern architectural structure to your PHP applications. Built for developers who love Slim’s simplicity and performance—but want a cleaner, more scalable project structure.

With a modular approach —covering routes, controllers, services, validators, and helpers— SlimeKit helps you stay focused on building features without getting lost in messy folders.

Slim Framework + Clear Structure + Developer Happiness = SlimeKit 🚀


There is only a little bit information that i can provide below for a while, full documentation will come soon

Based on Slim Framework 4 and Doctrine DBAL for Query Builder

Requirements

  • PHP v8.2
  • PostgreSQL/MySQL (Use Aiven or Supabase for free RDBMS Cloud)
  • Cloudinary account (for Free Image & Video Storage)
  • Mailjet account (for Free Email SMTP)
  • Docker (Optional)

⚙️ Installation

  • Use git clone from this repo.
  • Configure your .env file.

🚀 Using Docker

If you’re using Docker, there’s no need to create a .env file because it will be automatically generated by Docker in the image. Just configure all the necessary setup in the Dockerfile.dev or Dockerfile.prod and docker-compose.yml files.

To get started, simply run the following command in the terminal:

docker-compose up

If you want to stop:

ctrl+c
docker-compose down

The application URL is located at http://localhost:8080/

🧑‍💻 Using XAMPP or Laragon

Just configure the BASE_PATH section in the .env file to point to the path in your local htdocs. For example, if the folder location in XAMPP is /htdocs/local/slimekit/api, then set it as shown below:

BASE_PATH=/local/slimekit/api

🗃️ Environment Variable Configuration

Create a .env file to store credential configurations if you use XAMPP or Laragon. But if you use Docker try to setup on Dockerfile.dev or Dockerfile.prod

ENVIRONMENT=DEVELOPMENT
BASE_PATH=/local/race/api
APP_NAME=SlimeKit

# SYM KEY (FILL WITH ALPHANUMERIC STRING)
SYM_KEY=

# DATABASE SECTION
DB_HOST=
DB_PORT=
DB_USER=
DB_PASS=
DB_NAME=
DB_CLIENT=pgsql/mysql

# CLOUDINARY SECTION
CLOUDINARY_URL=

# MAILJET SECTION
SMTP_HOST=mailjet-smtp-host
SMTP_USER=your-smtp-user
SMTP_PASS=your-smtp-pass
SMTP_PORT=587
[email protected]
MAIL_FROM_NAME="Slimekit"

# CLOUDFLARE R2 SECTION
R2_REGION=auto
R2_ENDPOINT=https://xxxxxxxxxxxxxxxx.r2.cloudflarestorage.com
R2_ACCESS_KEY_ID=your-access-key-id
R2_SECRET_ACCESS_KEY=your-secret-access-key
R2_BUCKET=your-bucket-name

# VALKEY SECTION
VALKEY_SCHEME=
VALKEY_HOST=
VALKEY_PORT=
VALKEY_USERNAME=
VALKEY_PASSWORD=

⚙️ Install Dependency

composer install

or force using

composer update --ignore-platform-reqs

🛠️ Adjust Database Migration

composer migrate
composer migrate:generate
  • Use generate to create a new migration.
  • Use rollback if you only want to step back one version.
  • Use migrate prev to revert to the previous version.
  • Use migrate <version> to roll back to a specific version.
  • Use migrate 0 to remove all migrations.

🪄 Create Module

To generate file in Controller, Service, and Validator:

composer make:module NamaModule
composer make:module:admin NamaModule
composer make:module:client NamaModule

🔁 Refresh Autoload Namespace

composer dump-autoload -o

About

SlimeKit is a lightweight enhancement of the Slim Framework that brings modern architectural structure to your PHP applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages