PixelFed Project Structure

The federated photo sharing platform. A robust Laravel application that leverages the full power of the PHP ecosystem to build a decentralized, media-centric social network.

Updated 2025-12-30

#pixelfed #laravel #php #vuejs #activitypub #federation #social-network
PNGPDF

Project Directory

pixelfed/
app/
Laravel Application Source
Models/
Domain entities
Services/
Business & Fediverse logic
Jobs/
Async pipelines
Http/
Controllers & Middleware
resources/
Frontend Assets
assets/js/components/
Vue.js components
views/
Blade templates
routes/
API & Web route definitions
database/migrations/
Schema definitions
composer.json
package.json

Repository Info

Tech Stack

  • Backend-Laravel 12 (PHP 8.4+)
  • Frontend-Vue.js + Blade
  • Database-PostgreSQL / MySQL
  • Cache/Queue-Redis + Horizon
  • Protocol-ActivityPub
  • Media-FFmpeg integration

Architecture Notes

PixelFed is a 'Service-Oriented Monolith' built on **Laravel**. It makes heavy use of Laravel's built-in features like **Jobs** and **Queues** to handle complex, multi-step processes (Pipelines) for image optimization and ActivityPub delivery. The codebase is organized into specialized services within app/Services/, ensuring that the core logic for the Fediverse remains decoupled from the HTTP layer.

Key Directories

  • app/Services/-The brain of PixelFed. Contains specialized logic for ActivityPub delivery, Webfinger lookups, and image processing.
  • app/Jobs/-Handles background processing. PixelFed uses a 'Pipeline' pattern where one job can trigger a sequence of actions (e.g., Optimize Image -> Create Post -> Broadcast to Followers).
  • resources/assets/js/-The home of the modern, interactive frontend. Built with Vue.js, these components handle the SPA-like features of the web interface.

Why This Structure?

PixelFed is one of the most sophisticated Laravel applications in the open-source world. It demonstrates how to build a high-performance, federated application using modern PHP patterns.

Share this template

Related Templates

© 2025 FolderStructure.dev