Bem-vindo ao PDA-SYSTEM! Este é um ecossistema completo (Full-Stack) desenvolvido para o gerenciamento preciso de pesos e usuários. O projeto une um Backend robusto em ASP.NET Core 8.0 com um Frontend moderno e ultra-responsivo em React 19, focado em performance, segurança e uma experiência de usuário (UX) de alto nível.
O sistema foi construído sob o conceito de Monorepo, mantendo API e Web em um único repositório para facilitar a manutenção e o deploy sincronizado.
O PDA-SYSTEM foi desenvolvido para atender à necessidade de controle rigoroso de especificações de produtos. Ele permite a consulta, cadastro, edição e exclusão de parâmetros de peso, além de contar com um sistema de auditoria que registra qual usuário realizou a última atualização.
A segurança é um pilar central, utilizando RBAC (Role-Based Access Control) com três níveis de permissão:
- HOKAGE: Acesso total ao sistema, incluindo gestão de usuários e exclusão de dados.
- ADMINISTRADOR: Gestão completa de produtos (Cadastro/Edição).
- OPERADOR: Acesso restrito a consultas e visualização de dados.
- ✅ Autenticação Avançada: Sistema de login com tokens JWT, expiração controlada e suporte a upgrade automático de hash de senhas antigas para BCrypt.
- ✅ Dashboard de Produtos: Interface dinâmica para busca rápida de códigos de produto com visualização detalhada de pesos mínimos, máximos e revisões.
- ✅ Gestão de Usuários (HOKAGE Only): Painel administrativo para criação de contas, troca de senhas e alteração de níveis de acesso em tempo real.
- ✅ UI/UX Dark Premium: Interface construída com Tailwind CSS 4.0 e Shadcn UI, apresentando temas escuros, animações de transição suaves e componentes modulares.
- ✅ Sistema de Notificações Toast: Feedback instantâneo no canto superior direito para ações de sucesso, alerta ou erro, utilizando instâncias personalizadas de SweetAlert2.
- ✅ Segurança de Endpoints: Proteção de rotas tanto no Frontend (React Router) quanto no Backend (Policies do ASP.NET Core).
O projeto utiliza uma estrutura modular e escalável:
├── PdaSystem.API/ # Backend ASP.NET Core 8.0
│ ├── Controllers/ # Endpoints da API (Auth, Products, Users)
│ ├── Data/ # Contexto do Entity Framework e Migrations
│ ├── DTOs/ # Objetos de Transferência de Dados
│ ├── Models/ # Entidades do Banco de Dados (Mapeamento ORM)
│ └── appsettings.json.template # Modelo de configuração de ambiente
├── pda-system-web/ # Frontend React 19 + Vite
│ ├── src/
│ │ ├── components/ # UI Components (Shadcn) e Layout (Sidebar, Menu)
│ │ ├── contexts/ # Gerenciamento de estado (SidebarAction)
│ │ ├── hooks/ # Hooks personalizados (useAuth)
│ │ ├── pages/ # Páginas principais (Login, Products, Users)
│ │ └── services/ # Configuração do Axios e chamadas de API
├── .gitignore # Regras de exclusão para o Git
└── LICENSE # Licença MIT
- C# / .NET 8: Linguagem e Framework principal.
- Entity Framework Core: ORM para manipulação do banco de dados MySQL.
- BCrypt.Net: Criptografia de alta segurança para senhas.
- QuestPDF: Engine preparada para futura geração de relatórios PDF.
- Swashbuckle: Documentação interativa dos endpoints (Swagger).
- React 19: Biblioteca principal para a interface.
- Vite: Ferramenta de build ultra-rápida.
- Tailwind CSS 4.0: Estilização baseada em utilitários e variáveis OKLCH.
- Axios: Cliente HTTP com interceptadores para renovação de sessão.
- Lucide React: Conjunto de ícones vetoriais modernos.
- .NET SDK 8.0+
- Node.js (v18+)
- MySQL Server
- Navegue até a pasta
PdaSystem.API/PdaSystem.API. - Renomeie o arquivo
appsettings.json.templateparaappsettings.json. - Preencha a
DefaultConnectioncom seus dados do MySQL e defina umaJwt:Secret. - Execute as migrations ou inicie o projeto:
dotnet run
Navegue até a pasta pda-system-web.
Instale as dependências: npm install
Inicie o servidor de desenvolvimento: npm run dev
- Desenvolvedor: Johnatan dos Santos Reis
- GitHub: DevSanthiago
- Organização: Engenharia de Automação — Grupo Multi
Este projeto é uma ferramenta interna protegida sob a Licença MIT.