Skip to main content

Compare Symfony Admin Dashboards

· 3 min read
Iain Cambridge

Building an admin system is a requirement for most plans. But since it's not customer-facing it's not of much importance and the actions are often less complex than the customer-facing system. Often the best way to build your admin system is to use a bundle/package that provides the skeleton framework. Here we'll go over the options.

Athena - Parthenon

Might as well start with our dashboard. Athena is what Parthenon is named after, with the Parthenon temple in Athens being built to worship Athena. While working at other companies that used other Admin systems, I noticed everyone just referred to the admin system by the name of the of the bundle being used. I thought it would be cool for people to refer to asking the Goddess of Wisdom. It was built after having problems extending other dashboard systems to work with the microsystems that had been built and need to be integrated.

Athena provides the ability to add a new CRUD section within Athena by creating a new class and is able to support any data source since it's coupled to just an interface instead of abstract classes or third party bundles. Athena provides the ability to create a customisable dashboard upon login.

Pros:

  • Customisable Dashboard
  • Athena Notifications to alert employees of things
  • Not coupled to a data source
  • Professional support
  • Ability to be used by itself
  • Uses last key for pagination instead of limit
  • Admin to define a crud section within a single class
  • Ability to add extra pages

Cons:

  • No CSV export (yet)
  • Limited filter types
  • Not free

Sonata Admin

Sonata Admin is a powerful admin bundle that comes from the Sonata Project which aims to provide an easy way to generate admin systems. It is highly extendable.

Pros:

  • Battle-tested
  • CSV export
  • Admin to define a crud section within a single class
  • Ability to add extra pages
  • Lots of filter types
  • Years of documentation
  • Open Source

Cons:

  • Heavily coupled to Doctrine ORM and Doctrine ODM.
  • Performance issues on large datasets due to pagination
  • Community support

More info at https://docs.sonata-project.org/projects/SonataAdminBundle/en/4.x/

EasyAdmin

Easy Admin is from EasyCorp. It's designed to allow building admin systems easily.

Pros:

  • Full-text searches
  • Highly performant
  • Open-Source
  • WYSIWYG Editor
  • Admin to define a crud section within a single class
  • Simple and Easy to use

Cons:

  • Heavily coupled to Doctrine ORM
  • Doctrine ODM is not supported
  • Community Support

More info at https://github.com/EasyCorp/EasyAdminBundle

Am I missing one?

If so, let me know, and I'll add it here.