Modern Admin Panel for Node.js

    Adminizer is a framework-agnostic, open-source admin panel designed for Node.js with a powerful TypeScript backend and a dynamic React frontend. Build robust dashboards and manage your data with ease.

    Key Features

    Everything you need to build powerful admin panels for modern applications

    Framework-Agnostic

    Works with any Node.js framework and any ORM.

    Maximum Extensibility

    Configure your admin panel at runtime without server restarts.

    TMDP Solutions

    Built-in tools for handling temporary and disposable data.

    Access Control

    Fine-grained permissions and roles for secure data management.

    Custom Dashboards

    Create custom dashboards and data visualizations.

    Modern Stack

    Built with ESM, TypeScript, React, Radix UI, and Tailwind CSS.

    Universal Compatibility

    Adminizer works with any Node.js frameworks and ORMs. Perfect for kickstarting your new app, site, and backend where you need an admin panel.

    Compatible with all JS/TS frameworks

    Next.js logo
    Next.js
    Nuxt logo
    Nuxt
    Express logo
    Express
    Fastify logo
    Fastify
    Koa logo
    Koa
    NestJS logo
    NestJS
    Hapi logo
    Hapi
    Astro logo
    Astro

    Any ORM

    Prisma, TypeORM, Sequelize, Mongoose, and more

    Multiple ORMs

    Combine different ORMs in one project

    Granular permissions

    Control access to specific model fields

    🚀 Start building in minutes!

    Quick Start

    Get up and running with Adminizer in minutes

    1. Install

    npm install adminizer

    2. Create Admin Panel

    import { Adminizer } from "@adminization/adminizer";
    import { SequelizeAdapter } from "@adminization/adminizer/v4/model/adapter/sequelize";
    import { Sequelize, DataTypes } from "sequelize";
    import http from "http";
    
    async function start() {
        // 1. Initialize Sequelize
        const sequelize = new Sequelize('sqlite::memory:', { logging: false });
    
        // 2. Define a model
        const Example = sequelize.define('example', {
            id: {
                type: DataTypes.INTEGER,
                autoIncrement: true,
                primaryKey: true,
            },
            title: {
                type: DataTypes.STRING,
                allowNull: false,
            },
            description: {
                type: DataTypes.TEXT,
            },
        }, {
            tableName: 'examples',
            timestamps: false,
        });
    
        // 3. Synchronize the database (this will create the table)
        await sequelize.sync({ force: true });
    
        // 4. Create an adapter
        const sequelizeAdapter = new SequelizeAdapter({
            sequelize: sequelize,
            models: { example: Example },
        });
    
        // 5. Create Adminizer instance
        const adminizer = new Adminizer([sequelizeAdapter]);
    
        await adminizer.init({
            routePrefix: "/adminizer",
            projectName: "Adminizer with Sequelize",
            dbConnection: null,
            auth: false,
            buildAssets: true,
        });
    
        // 6. HTTP server
        const mainApp = http.createServer((req, res) => {
            if (req.url.startsWith("/adminizer")) {
                adminizer.app(req, res, (err) => {
                    if (err) {
                        res.writeHead(500, { 'Content-Type': 'text/plain' });
                        res.end('Internal Server Error');
                    }
                });
            } else {
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.end('<h1>Welcome</h1><p>Go to <a href="/adminizer">Adminizer</a></p>');
            }
        });
    
        mainApp.listen(3000, () => {
            console.log('Server started: http://localhost:3000/adminizer');
        });
    }
    
    start();

    Join Our Community

    Be part of the open-source revolution! Join thousands of developers building the future of admin panels. Your ideas, contributions, and feedback shape Adminizer's evolution.

    GitHub

    Contribute and report issues

    Telegram

    Live chat and support

    Twitter/X

    News and updates

    Facebook

    Community discussions