Skip to content

Sistema para rastreio de manufatura interno da companhia para qual eu trabalho, esse sistema serve para rastrear os usuários que cadastram ou alteram as informações dos produtos manufaturados na linha de produção.

License

Notifications You must be signed in to change notification settings

JohnReiiss/Sistema-PD-Automatizado

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PDA System V 0.2.0 🚀

Bem-vindo à nova versão do PDA System! O que começou como um sistema web monolítico evoluiu para uma aplicação full-stack moderna e desacoplada, com uma API RESTful robusta no back-end e uma interface de usuário dinâmica e reativa no front-end.

Este projeto gerencia os parâmetros de pesagem de produtos industriais, garantindo a segurança e a integridade dos dados através de um sistema de autenticação e autorização baseado em papéis.

PHP 8.2 HTML5 CSS3 JavaScript ES6+ MySQL API RESTful Arquitetura MVC

✨ Sobre a Refatoração: De Monolito a API

A versão 0.2.0 não é apenas uma atualização, é uma reconstrução completa. O objetivo foi aplicar as melhores práticas de desenvolvimento de software para criar uma base de código mais segura, escalável e de fácil manutenção.

O sistema monolítico original foi dividido em duas partes independentes:

  • Back-end: Uma API RESTful stateless (sem estado) responsável por toda a lógica de negócios, segurança e comunicação com o banco de dados.
  • Front-end: Uma interface de usuário dinâmica que consome a API, proporcionando uma experiência fluida e sem recarregamentos de página, construída com JavaScript puro e moderno.

🌟 Funcionalidades Principais

  • Autenticação Segura via Token JWT: Sistema de login que gera um token JWT para autenticação stateless.
  • Controle de Acesso Baseado em Papéis (RBAC): Três níveis de permissão (OPERADOR, ADMINISTRADOR, HOKAGE) que restringem o acesso a funcionalidades críticas.
  • Gerenciamento de Produtos (CRUD): Funcionalidades completas para criar, buscar, editar e excluir produtos, com ações restritas por nível de acesso.
  • Painel de Super-Administrador ("Hokage"): Uma área exclusiva para o nível de acesso mais alto, permitindo o gerenciamento completo de usuários (criar, editar perfis e excluir).
  • Hashing Progressivo: Um mecanismo de segurança que atualiza senhas antigas (em texto plano) para o formato de hash moderno de forma automática e transparente no primeiro login bem-sucedido do usuário.
  • Interface de Usuário Reativa: Construída com JavaScript moderno (async/await, fetch), com componentes reutilizáveis, animações e feedback visual através de alertas modernos (SweetAlert2).

🧱 Estrutura do Projeto

A arquitetura do projeto foi desenhada para uma clara separação de responsabilidades entre o back-end (a API que contém a lógica) e o front-end (a interface com o usuário).

Com certeza. Esse formato de árvore de texto é ótimo para documentação.

Aqui está a estrutura do nosso projeto, formatada exatamente como você pediu, pronta para ser copiada.

.
├── back-end/
│   ├── controllers/
│   ├── models/
│   ├── config/
│   ├── vendor/
│   ├── .env
│   └── api.php
├── front-end/
│   ├── assets/
│   │   ├── css/
│   │   ├── js/
│   │   └── images/
│   ├── includes/
│   ├── index.php
│   ├── login.php
│   └── ... (outras páginas)
├── .gitignore
├── LICENSE
└── README.md

🛠️ Pilha de Tecnologias (Tech Stack)

Back-end

  • PHP 8+: Utilizado de forma orientada a objetos para construir toda a lógica da API.
  • MySQL: Banco de dados relacional para persistência dos dados.
  • Composer: Gerenciador de dependências PHP.
  • Bibliotecas:
    • firebase/php-jwt: Para geração e validação de JSON Web Tokens.
    • vlucas/phpdotenv: Para gerenciamento seguro de variáveis de ambiente.

Front-end

  • HTML5: Estrutura semântica e moderna.
  • CSS3: Estilização com Flexbox, Grid Layout e animações para uma interface responsiva.
  • JavaScript (ES6+): O cérebro da interface, responsável pela interatividade, chamadas de API (fetch) e manipulação do DOM.
  • Bibliotecas (via CDN): SweetAlert2, Font Awesome, Google Fonts (Poppins), Hamburgers.css.

🏛️ Arquitetura e Destaques Técnicos

  • API RESTful: O back-end expõe endpoints claros e bem definidos para cada ação, comunicando-se exclusivamente via JSON.
  • MVC (Model-View-Controller): A lógica do back-end é organizada no padrão MVC, separando o acesso a dados (Model), o processamento da requisição (Controller) e a resposta (View/JSON).
  • Componentização no Front-end: O código front-end foi dividido em componentes reutilizáveis (header.php, footer.php) e arquivos CSS/JS modulares por funcionalidade, facilitando a manutenção.

🚀 Como Executar o Projeto

Pré-requisitos: PHP 8+, Composer, MySQL.

  1. Clone o repositório:
    git clone [https://github.com/JohnReiiss/Sistema-PD-Automatizado.git](https://github.com/JohnReiiss/Sistema-PD-Automatizado.git)
    cd Sistema-PD-Automatizado
  2. Configure o Back-end:
    • Navegue até a pasta do back-end: cd back-end.
    • Instale as dependências: composer install.
    • Crie um arquivo .env a partir do exemplo (se houver, ou crie um novo) e preencha com as suas credenciais do banco de dados e uma JWT_SECRET segura.
  3. Configure o Banco de Dados:
    • Crie um banco de dados MySQL chamado sistemadepesos.
    • Importe o SQL da estrutura da tabela PD_usuario e PD_peso.
    • Importante: Para testar o painel do Hokage, altere manualmente o TIPO_ACESSO do seu usuário para HOKAGE no banco de dados.
  4. Inicie o Servidor:
    • Volte para a pasta raiz do projeto (cd ..).
    • Inicie o servidor embutido do PHP:
      php -S localhost:8000
  5. Acesse a Aplicação:
    • Abra seu navegador e acesse: http://localhost:8000/front-end/login.php

📌 Demonstração em Vídeo

Acesse aqui o vídeo de demonstração 🎥 Clique aqui para assistir ao vídeo

✉️ Contato


Este projeto foi uma incrível jornada de aprendizado e aplicação de conceitos modernos de desenvolvimento web. Agradeço a visita!

About

Sistema para rastreio de manufatura interno da companhia para qual eu trabalho, esse sistema serve para rastrear os usuários que cadastram ou alteram as informações dos produtos manufaturados na linha de produção.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published