adminjs
AdminJS is an admin panel for apps written in node.js
AdminJS automatically generates a full-featured admin panel for your Node.js app by reading your existing database models, no custom back-office code required.
AdminJS is an open-source library that automatically generates an admin panel for Node.js web applications. Node.js is a popular JavaScript runtime for building server-side applications. If you have an app with a database and you need a way to browse, add, edit, and delete records without writing a custom back-office interface from scratch, AdminJS can generate that interface for you by reading your existing data models.
The idea is similar to the built-in admin tools that come with frameworks like Django in Python or Active Admin in Ruby on Rails. You point AdminJS at your database models, and it creates a working web interface with forms, tables, and built-in validation. It handles all the standard create, read, update, and delete operations automatically. You can also define custom actions that appear as buttons in the interface, build widgets for a dashboard overview page, and create decorators that change how individual models are labeled or displayed.
Setting it up involves installing the package, importing it into your existing Node.js server (Express, Hapi, and similar frameworks are supported), and registering the database models you want to manage. From that point the admin panel is available at a URL path of your choosing. The library has adapters for several databases including MongoDB and various SQL databases through separate adapter packages.
A live demo is available at the project website, so you can explore the interface before installing anything. There is also a Discord community for help and discussion. AdminJS is maintained by rst.software and is available under an open-source license that permits free use and redistribution.
Where it fits
- Build a content management interface for a MongoDB or SQL database without writing custom admin screens.
- Add a dashboard to a Node.js app to let non-technical teammates browse and edit records.
- Create custom admin actions and widgets to manage users, orders, or content in an existing backend.
- Replace a manual spreadsheet workflow with a point-and-click interface to your database.