Dashboard para área administrativa com Bootstrap gratuita

Dashboard de administração: Como criar uma interface profissional com Bootstrap.

Publicado em

Quando a gente começa a desenvolver uma nova aplicação com área administrativa, a primeira coisa que vem na nossa cabeça é: Como será a UI/UX desse painel? Então recorremos a diversas possibilidades até chegar em uma que atende ao que precisamos.

Neste artigo estamos disponibilizando o template base de um dashboard para áreas administrativas, e detalhe, esse é o mesmo template que vem sendo utilizado na SatellaSoft e seus produtos. O código foi escrito em HTML, CSS e JS, utilizando o Bootstrap como base.

Ter uma interface de dashboard responsivo é fundamental para fornecer uma ótima experiência de usuário em qualquer dispositivo, seja desktop, tablet ou celular. Com o aumento do uso de dispositivos móveis, ter um dashboard que se adapta a diferentes tamanhos de tela é essencial para manter os usuários engajados e satisfeitos. Além disso, uma interface responsiva ajuda a aumentar a acessibilidade e manter a integridade das informações na tela, ou seja, nada de componentes quebrados.

Caso você queira aprender a criar uma aplicação com área administrativa usando banco de dados, status e nível de permissão, confira o nosos curso Criando uma aplicação com área administrativa utilizando o Laravel.

O nosso dash utiliza o Bootstrap 5, sendo totalmente dependente do CSS do framework. Temos também um código Javascript puro para manipular o menu, tornando o JS do framework opcional.

Prévia do Dashboard gratuito em bootstrap.
Prévia do Dashboard gratuito em bootstrap.

Tudo o que você vai precisar é criar os arquivos:

  • style.css
  • script.js
  • index.html 

Agora insira os scripts abaixo em seus respectivos arquvos.

Style

#menu-lateral {
    height: 100vh;
    overflow-y: auto;
}

#menu-lateral h6 {
    color: #d3d3d3;
    margin-bottom: 5px;
    padding: 5px 0;
}

#menu-lateral li ul li a {
    color: #fff
}

#menu-lateral li ul li a:hover {
    background-color: #111
}

#menu-lateral .logout-link {
    color: rgb(239, 62, 57);
}

@media (max-width: 767.98px) {
    #menu-lateral {
        position: fixed;
        left: -100%;
        top: 0;
        width: 250px;
        height: 100%;
        z-index: 111;
        background-color: #333;
        transition: all 0.3s ease-in-out;
        border-right: 2px solid #3d65ac;
    }

    #menu-lateral.show {
        left: 0;
    }
}

.btn-logout-top {
    color: rgb(239, 62, 57) !important;
    border-bottom: 2px solid rgb(239, 62, 57) !important;
}

.btn-logout-top:hover {
    color: #FFF !important;
    border-bottom: 2px solid #fff !important;
}

.bar {
    background: #3d65ac;
    background: linear-gradient(90deg, rgb(61, 101, 172) 0%, rgb(239, 62, 57) 100%);
    padding: 2px;
}

.breadcrumb {
    border: 1px solid #dedede;
    background-color: #eee !important;
    border-radius: 5px !important;
    padding: 15px 10px !important;
}

Script

const menuLateral = document.querySelector('#menu-lateral')
const navToggler = document.querySelector('.navbar-toggler')

navToggler.addEventListener('click', () => {
    menuLateral.classList.toggle('show')
})

Index

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemplo de Dashboard SatellaSoft</title>

    <!-- Otimização interna -->
    <link rel="preload" href="style.css" as="style">
    <link rel="preload" href="script.js" as="script">

    <link rel="stylesheet" href="style.css">

    <!-- Otimização para o Bootstrap -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
</head>

<body>
    <header>
        <nav class="navbar navbar-expand-md navbar-dark bg-dark container-fluid">
            <div class="container">
                <a class="navbar-brand" href="#"><img src="https://satellasoft.com/img/logo/satellasoft-white.svg"
                        alt="Logo SatelaSoft" style="max-width: 200px;width: 100%;"></a>

                <button class="navbar-toggler d-lg-none" type="button" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>

                <div class="collapse navbar-collapse" id="navbarCollapse">
                    <ul class="navbar-nav ms-auto">
                        <li class="nav-item">
                            <a class="btn btn-logout-top" href="#">&#x279E; Logout</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </header>
    <div class="bar"></div>

    <main>
        <div class="container">
            <div class="row">
                <!-- Navbar lateral -->
                <nav class="col-md-3 col-lg-3 d-md-block bg-dark sidebar d-lg-block" id="menu-lateral">
                    <div class="position-sticky pt-3">
                        <ul class="nav flex-column nav-pills">
                            <li class="nav-item">
                                <h6
                                    class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1">
                                    <span>Conteúdo</span>
                                </h6>
                                <ul class="nav flex-column mb-2">
                                    <li class="nav-item">
                                        <a class="nav-link" href="#">Item 1</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link" href="#">Item 2</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link" href="#">Item 3</a>
                                    </li>
                                </ul>
                            </li>

                            <li class="nav-item">
                                <h6
                                    class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1">
                                    <span>Nossos sites</span>
                                </h6>
                                <ul class="nav flex-column mb-2">
                                    <li class="nav-item">
                                        <a class="nav-link" href="https://satellasoft.com">SatellaSoft artigos</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link" href="https://academy.satellasoft.com">SatellaSoft
                                            cursos</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link" href="https://quiz.satellasoft.com">SatellaSoft quizzes</a>
                                    </li>
                                </ul>
                            </li>

                            <li class="nav-item">
                                <h6
                                    class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1">
                                    <span>Configurações</span>
                                </h6>
                                <ul class="nav flex-column mb-2">
                                    <li class="nav-item">
                                        <a class="nav-link" href="#">Minha conta</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link logout-link" href="#logout">&#x279E; Logout</a>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </div>

                </nav>

                <!-- Conteúdo principal -->
                <main role="main" class="col-md-9 col-lg-9 mt-3">
                    <nav aria-label="breadcrumb">
                        <ol class="breadcrumb">
                            <li class="breadcrumb-item"><a href="#">Home</a></li>
                            <li class="breadcrumb-item active" aria-current="page">Library</li>
                        </ol>
                    </nav>

                    <h1>Conteúdo principal</h1>
                    <p>Conteúdo da página</p>
                </main>
            </div>
        </div>

    </main>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
    <script src="script.js"></script>
</body>

</html>

Também mantemos uma versão atualizada em nosso repositório no Github, confira: https://github.com/satellasoft/responsive-bootstrap-dashboard.

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção