How to build a Node.js admin panel
Tags: javascript, node, webdev
Published: 2021-11-08 09:19:58

What is great about Node.js is that it allows for building even complex applications that can handle a plethora of real-time data. In the last couple of years, many well-known established companies like Netflix, eBay, or Uber have rewritten their microservices using Node.js. LinkedIn, in turn, has successfully migrated a part of the code that has been written in Ruby on Rails to Node.js. It shouldn’t come as a surprise that robust applications need robust internal tools.


##How to build a Node.js admin panel

Node.js doesn’t have a default admin panel solution like Django Admin for Django or Active Admin for Ruby on Rails. However, there are quite a few options for building an admin panel for a Node.js application:

* Build all internal tools in-house from scratch. This option gives you the maximum flexibility but it also comes with disadvantages, like the fact that on average, developers spend up to 30% of their time on building and maintaining internal tools. At Forest Admin, we agree there are more efficient ways to equip companies with internal tools.

* Take advantage of open-source admin frameworks and libraries. In contrast to building internal tools from scratch, it’s a quick and relatively easy option that comes with limitations and cannot be edited by non-technical team members.

* Pick one of numerous and often free admin panel templates, especially when all you need is a simple dashboard or a CRM. Just keep in mind that you will face even more limitations compared to open source frameworks. They are designed to fit the most general applications and provide the essential features out-of-the-box, but there is usually too little customization available.

* Choose a low-code solution that gives you the best of both worlds: an out-of-the-box solution, the possibility to code custom features with Smart Actions and Smart Views, dedicated support, and top-class security.


##Why choose Forest Admin as a Node.js admin panel

As you can see, in most cases there is some tradeoff between the efficiency of a ready-to-use solution and the flexibility and scalability of the one built in-house. A custom-made internal tool is always designed to fit the needs of a specific organization and its business logic. There is one major problem, though. Building and maintaining it takes up to 30% of development time, requires a lot of effort, and defocuses design and product teams. At Forest Admin, we think that all this effort should rather be spent on a customer-facing shiny app but does it mean that internal tools can be neglected? On the contrary, that’s why we’ve built a highly-customizable and secure admin panel solution.

##Why is Forest Admin the perfect fit for Node.js applications?

Forest Admin’s architecture consists of four components: the database, the admin backend, the Forest Admin API server, and the Forest Admin UI server. When you install Forest Admin, you can generate a Node.js application on your local machine that includes a RESTful API that connects to your database. It also provides the Forest Admin API Server with the information needed to build the User Interface. Another possibility is to install Forest Admin to an Express/Sequelize, or an Express/Mongoose app as your data source.

Such a special architecture makes it possible to achieve top-level security, as Forest Admin API Server is never proxying requests to your database. In short, Forest Admin never sees your data, and you are in full control of it. You own the admin backend and you can extend it like any Node.js app. Using JavaScript and npm packages, you can add any custom logic you want.


Are you ready to start?

###Building a Node.js admin panel: Prerequisites

To build your internal tools with Forest Admin, you need:

1. 15 minutes of your time.
2. Basic knowledge of JavaScript.
3. Web browser (we recommend Chrome and Firefox).
4. Your favorite code editor.
5. A database or another data source, for example an [Express/Sequelize](https://www.forestadmin.com/integrations/express), or an [Express/Mongoose](https://www.forestadmin.com/integrations/express) app.


## Getting started with Forest Admin

* Create your account on [ForestAdmin.com](https://www.forestadmin.com/?utm_source=referral&utm_medium=devto&utm_campaign=blog-nodejs-admin-panel&utm_content=blog-nodejs-admin-panel). You can get started for free. You will be asked to fill a sign-up form, choose whether it’s a personal project or you need to create an organization, and name your project.

* You will be asked to fill a sign-up form, choose whether it’s a personal project or you need to create an organization, and name your project.

![Creating an account on Forest Admin](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/11/forest-admin-signup-page2--1-.png)

* Once it’s done, it’s time to pick your data source.

![Creating an account on Forest Admin](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/11/forest-admin-datasources--1-.png)

* Follow the onboarding instructions. For more information, check [Forest Admin Installation Guide](https://docs.forestadmin.com/documentation/getting-started/installation).

* Once your project is working, an automated quick tour will walk you through the basic views and settings: click on the blue circles whenever you need more information.

![Forest Admin onboarding](https://s3-eu-west-1.amazonaws.com/blog.forestadmin.com/2021/11/forest-admin-setup-guide-1--1-.png)

* Now, adjust your internal tool to fit your business logic. Check how powerful our Layout Editor is, and invite team members! Pro tip: Use tags to facilitate their onboarding.

##If you don’t have an account yet, [sign up for free](https://app.forestadmin.com/signup?utm_source=referral&utm_medium=devto&utm_campaign=blog-nodejs-admin-panel&utm_content=blog-nodejs-admin-panel) and join thousands of innovative companies.