Skip to content

c975L

Open-source Symfony bundles for building websites — a shared EasyAdmin back-office, database-backed configuration, composable page blocks, e-commerce and more, each bundle usable on its own but designed to plug into the others.

Maintained by Laurent Marquet · PHP 8.4 · Symfony 8 · EasyAdmin 5 · MIT

The core

Package What it does
CoreBundle
c975l/core-bundle
The base of the ecosystem in a single package. ConfigBundle — database-backed application configuration (site_config), the shared /management dashboard, user accounts, health check, backup, sitemaps, redirects. UiBundle — composable page Blocks, media library and site graphics, admin-editable theme, cookie banner, legal documents, database-driven forms, email templates, reviews, ratings and favorites, shared CSS/JS. Both contribute the guided tour — built on its own from whatever menus are installed — and the guided projects that walk an admin through a real task, screen by screen. A site naming more than one language gets content translations too: a text is said again in another language beside the one it was written in, never in place of it.

One package, two bundles: c975L\ConfigBundle\ and c975L\UiBundle\ keep their own namespaces, services, configs, translation domains and dashboard sections — there is no c975L\CoreBundle\ namespace. They referenced each other in both directions and could never be released independently, so they are now released together. c975l/config-bundle and c975l/ui-bundle are superseded by this package; see CoreBundle's UPGRADE.md — no use, no @c975LUi/… template reference and no bundles.php entry changes.

The bundles

Every bundle below rests on the core, and only on the core (plus PaymentBundle where checkout is involved). None of them rests on another.

Bundle What it does Also requires
SiteBundle
c975l/site-bundle
Website foundation — full layout, database-driven pages, navbar and footer menus, collections, per-page SEO and health check, and a site said in several languages: locale-prefixed urls, a Translate screen per page and per menu, hreflang in the head and in the sitemap
ShopBundle
c975l/shop-bundle
E-commerce — product catalog with categories, media, downloadable files, shipping weights, verified buyer reviews and affinity recommendations Payment
PaymentBundle
c975l/payment-bundle
Generic basket/checkout engine, Stripe and Revolut payments, promotional codes and gift cards, invoices and a delivery grid of zones and weight tiers; any bundle plugs its own sellable items in through BasketItemProviderInterface
CrowdfundingBundle
c975l/crowdfunding-bundle
Crowdfunding campaigns — counterparts, contributors, news and media — plus an optional lottery tied to a campaign Payment
BookBundle
c975l/book-bundle
A publisher's catalog of books, series and strips, with authors and illustrators as catalog entries of their own, successive versions of a text, media, video, press and marketing collections, short links and reader reviews
GalleryBundle
c975l/gallery-bundle
Photo galleries — categories, batch upload, automatic derivatives, public viewer, and photographs sold as prints: a catalogue of sizes and prices, limited editions with their register and certificate, printed and shipped by a lab Payment
SocialBundle
c975l/social-bundle
Social links managed in one place and share buttons for 15 networks

Installing any of them pulls the core in, so composer require c975l/site-bundle is usually all you need to start.

A site does not need SiteBundle. The core plus a shop, a book catalogue or a gallery is a complete site on its own: it has a page shell, the theme, its favicon and share preview, the cookie banner, the legal documents, accounts, redirects and the health check. SiteBundle is what adds pages — a composable page tree, menus, collections and their own SEO — not what makes a site work.

The back-office explains itself

Two things come with the core and grow with every bundle installed. A guided tour is built on its own from the menus the installed bundles declare — no bundle writes it, none can forget an entry. And 62 guided projects take an admin through a real task, step by step, highlighting the very button or field to use where it already is: 12 in BookBundle, 10 in UiBundle, 9 each in PaymentBundle and SiteBundle, 7 in GalleryBundle, 6 in ShopBundle, 5 in ConfigBundle, 4 in SocialBundle. A bundle contributes its own by implementing GuidedProjectProviderInterface.

Start here

New to the ecosystem? Read CoreBundle's README first — it points at the configuration model and the dashboard extension points (MenuProviderInterface, AlertProviderInterface, ShortcutProviderInterface, SitemapProviderInterface…) that every other bundle plugs into.

Building a website? Start with SiteBundle.

Want to see it running? bundles.975l.com presents every bundle, and its block gallery shows every block kind live.

Conventions

  • Application configuration lives in the database, edited in EasyAdmin — never in .env
  • The one exception: the languages a site speaks are declared in Symfony's own enabled_locales, which the framework itself reads
  • A bundle contributes to the dashboard by implementing an interface; no compiler pass to write
  • Assets are served through AssetMapper — no npm, no Node, no build step
  • Admin controllers live in Controller/Management/
  • Every bundle is designed to be overridden rather than forked
  • A feature belongs to the bundle owning its domain, not to the one that happens to call it

Archived

Bundles marked archived on this page are no longer maintained. Notably, ShareButtonsBundle and ContactFormBundle have been superseded — share buttons moved to SocialBundle, contact forms to the core's database-driven form system. PurchaseCreditsBundle predates the current architecture and is kept for existing sites only.

Pinned Loading

  1. ShopBundle ShopBundle Public

    Symfony bundle for e-commerce on the c975L core — product catalog with categories, media, downloadable files and affinity recommendations. Checkout is delegated to c975l/payment-bundle.

    PHP 1

  2. SiteBundle SiteBundle Public

    Symfony bundle that turns the c975L core into a complete website — full layout, database-driven pages, navbar and footer menus, collections, branded emails, per-page SEO and health check.

    PHP 1

  3. UiBundle UiBundle Public archive

    Merged into c975l/core-bundle — this bundle now ships from https://github.com/975L/CoreBundle. Page blocks, media library, theme, legal models, database-driven forms and email templates of the c975…

    PHP 1

  4. BookBundle BookBundle Public

    Symfony bundle providing a publisher's catalog of books and series on the c975L core — media, video, press and marketing collections, EasyAdmin CRUD, paginated public routes, multilingual editions …

    PHP 1

  5. SocialBundle SocialBundle Public

    Symfony bundle for the social side of a c975L site — social links managed in one single place and share buttons for 15 networks, placed anywhere as blocks. Replaces the former ShareButtonsBundle.

    PHP 2

  6. ConfigBundle ConfigBundle Public archive

    Merged into c975l/core-bundle — this bundle now ships from https://github.com/975L/CoreBundle. Database-backed configuration, EasyAdmin dashboard, user accounts, health check and sitemaps of the c9…

    PHP 3

Repositories

Showing 10 of 27 repositories

Top languages

Loading…

Most used topics

Loading…