slimkit/plus
SlimKit Plus is an open-source Laravel social networking platform for building community apps. It provides user profiles, activity feeds, follows, comments, likes, notifications, and APIs, plus a modular, extensible foundation for PHP developers launching feature-rich social communities.
Plus (ThinkSNS+) is not a Composer library you require into an existing app — it's a complete Laravel social-network application you fork and deploy. Your first step is to treat it as an app scaffold, not a dependency.
Minimal local spin-up:
composer.json first — the PHP/Laravel constraints there tell you which PHP runtime you need (it targets the Laravel 5.x era, last release Nov 2020).composer install, copy .env.example to .env, set APP_KEY, and configure MySQL and Redis (Redis is used for cache/queue/session in most Plus deployments — do not skip it).php artisan migrate --seed to get the base schema and demo users/feeds, then php artisan storage:link for uploaded media.npm install && npm run dev or the project's documented build script), then php artisan serve.Where to look first:
routes/ — the app is API-centric; the route files map out the whole surface (feeds, comments, users, wallet, notifications) faster than reading controllers.config/ — Plus-specific config files govern features, uploads, and currency/points behavior.app/ — service providers and domain models. This is where you extend behavior.First real use case: stand it up locally, seed demo data, log in as a seeded user, and exercise the feed/post/comment/follow flows through the API. That single pass teaches you the domain model (users ↔ feeds ↔ comments ↔ likes ↔ follows) faster than any doc.
Because you own the whole codebase, "integration" means editing the app, not hooking into a package. Plan for a fork-and-maintain workflow, not a composer update.
app/Providers, mirroring how Plus wires its own modules. This isolates your changes from core files where possible.ShouldQueue patterns rather than doing work synchronously in controllers.upstream remote and your work on a long-lived branch. You'll be cherry-picking, not merging, given the age of the last release.NOASSERTION; ThinkSNS+ is historically distributed under a copyleft (AGPL-family) license. "Free to use" is not "free to use in a closed SaaS." Confirm with legal before commercial deployment — this is the single biggest risk with this package.composer.lock for known-vulnerable transitive packages.composer require. If you were hoping to bolt social features onto an existing Laravel app, you'll instead be extracting concepts (models, events, wallet logic) by hand. Budget for that.QUEUE_CONNECTION, CACHE_DRIVER, and SESSION_DRIVER first when things "just don't work."migrate:fresh --seed on a scratch database for local work.bcmath/gmp (wallet math), gd/imagick (media), and intl requirements — missing extensions fail at runtime, not install time.storage/logs/laravel.log → failed-jobs table → re-run the specific job → reproduce via the API route, not the browser, since the front-end may be a separate SPA. php artisan route:list is your map.upstream remote, isolate customizations in your own providers/config, and vendor-pin aggressively. Do not expect upstream fixes; plan to patch dependencies (especially Laravel) yourself as you move to supported PHP versions.How can I help you explore Laravel packages today?