Skip to content

TersanPlay/SmartContrato

Repository files navigation

SmartControl - Sistema de Gestão de Aparelhos Corporativos

SmartControl é um sistema completo para gerenciamento de aparelhos corporativos, contratos telefônicos, setores e usuários. Desenvolvido com Django, Tailwind CSS e Flowbite.

Funcionalidades

  • Gestão de Setores: Cadastro e administração de setores da empresa
  • Gestão de Usuários: Controle de acesso baseado em perfis (RBAC)
  • Gestão de Contratos: Administração de contratos com operadoras
  • Gestão de Aparelhos: Controle completo de aparelhos corporativos
  • Auditoria: Registro detalhado de todas as ações no sistema
  • Relatórios: Geração de relatórios customizados com exportação

Requisitos

  • Python 3.8+
  • Node.js 14+
  • Django 5.1+
  • Banco de dados SQLite (padrão) ou PostgreSQL

Instalação

  1. Clone o repositório:

    git clone <url-do-repositorio>
    cd smartcontrato
  2. Crie um ambiente virtual:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # ou
    venv\Scripts\activate  # Windows
  3. Instale as dependências Python:

    pip install -r requirements.txt
  4. Instale as dependências Node.js:

    npm install
  5. Configure as variáveis de ambiente: Copie o arquivo .env.example para .env e ajuste as configurações conforme necessário:

    cp .env.example .env
  6. Execute as migrações:

    python manage.py migrate
  7. Crie um superusuário:

    python manage.py createsuperuser
  8. Configure os grupos de usuários:

    python manage.py setup_groups

Desenvolvimento

Frontend (Tailwind CSS)

Para desenvolver com Tailwind CSS, execute o watcher:

npm run dev

Para gerar o CSS de produção:

npm run build

Backend

Para iniciar o servidor de desenvolvimento:

python manage.py runserver

Testes

Execute os testes automatizados:

python manage.py test

Deploy

Configuração de Produção

  1. Atualize as configurações no settings.py:

    • Defina DEBUG = False
    • Configure ALLOWED_HOSTS
    • Use variáveis de ambiente para credenciais sensíveis
  2. Colete os arquivos estáticos:

    python manage.py collectstatic
  3. Configure um servidor web: Recomenda-se usar Gunicorn + Nginx para produção:

    pip install gunicorn
    gunicorn flowbiteapp.wsgi:application --bind 0.0.0.0:8000

Docker (Opcional)

Para deploy com Docker, utilize o Dockerfile fornecido:

docker build -t smartcontrol .
docker run -p 8000:8000 smartcontrol

Estrutura do Projeto

smartcontrato/
├── aparelhos/          # App de gestão de aparelhos
├── auditoria/          # App de auditoria e logs
├── contratos/          # App de gestão de contratos
├── flowbiteapp/        # Configurações principais do Django
├── setores/            # App de gestão de setores
├── static/             # Arquivos estáticos
├── templates/          # Templates HTML
├── usuarios/           # App de gestão de usuários
├── manage.py           # Script de gerenciamento do Django
├── requirements.txt    # Dependências Python
└── package.json        # Dependências Node.js

Contribuição

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

Contato

Seu Nome - seu.email@exemplo.com

Link do Projeto: https://github.com/seu-usuario/smartcontrato

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published