O PetSystem V3 será um sistema de gerenciamento para PetShops e/ou clínicas veterinárias, desenvolvido com uma arquitetura separada entre backend e frontend. O objetivo é permitir o gerenciamento de informações como clientes, pets, serviços e agendamentos, além de autenticação e controle de acesso. Este projeto também é utilizado como projeto de estudo e portfólio, com o propósito de demonstrar conhecimentos em desenvolvimento backend, APIs REST, frontend React, banco de dados relacional, autenticação, arquitetura de software, Git e boas práticas de desenvolvimento. Sempre de maneira limpa e clara.
| Tecnologia | |---|---| | PHP | Linguagem principal do backend | | Laravel | Framework backend | | API REST | Comunicação entre frontend e backend | | Eloquent ORM | Mapeamento objeto-relacional | | Laravel Sanctum | Autenticação da API |
| Tecnologia | Finalidade |
| React | Biblioteca para construção da interface | | JavaScript | Linguagem principal do frontend | | Vite | Build tool e ambiente de desenvolvimento | | React Router | Roteamento entre páginas | | Axios | Consumo da API REST |
| Tecnologia | Finalidade |
| MySQL | Banco de dados do projeto |
O frontend é desenvolvido exclusivamente com JavaScript e JSX.
PetSystem V3
│
├── backend/
│ └── Laravel + PHP
│ ├── API REST
│ ├── Eloquent ORM
│ └── Laravel Sanctum
│
├── frontend/
│ └── React
│ ├── Vite
│ ├── React Router
│ └── Axios
│
├── docs/
│ └── documentação
│
└── MySQL
Responsabilidade de cada camada:
-
Backend (Laravel/PHP): responsável por expor a API REST, aplicar as regras de negócio, gerenciar autenticação e realizar a comunicação com o banco de dados através do Eloquent ORM.
-
Frontend (React): responsável pela interface do usuário, consumindo os dados fornecidos pela API através de requisições HTTP feitas com Axios.
-
Banco de dados (MySQL): responsável pelo armazenamento persistente das informações do sistema.
-
docs/: reúne a documentação técnica do projeto.
O fluxo principal de comunicação do sistema segue o seguinte caminho:
React
↓
Axios
↓
Laravel REST API
↓
Eloquent ORM
↓
MySQL
O frontend React consome os endpoints disponibilizados pela API Laravel através de requisições HTTP feitas com Axios. O Laravel processa essas requisições, aplica as regras de negócio e utiliza o Eloquent ORM para interagir com o banco de dados MySQL.
- Estrutura inicial do projeto
- Backend Laravel
- Frontend React
- Configuração da API
- Configuração do MySQL
- Autenticação de usuários
- Login e logout
- Controle de acesso
- Dashboard
- Gerenciamento de clientes
- Gerenciamento de pets
- Gerenciamento de serviços
- Gerenciamento de agendamentos
- Relacionamentos entre clientes e pets
- Integração completa entre frontend e backend
- Validações
- Tratamento de erros
- Testes automatizados
As funcionalidades listadas em "Planejado" ainda não foram implementadas.
pet-system-v3/
├── backend/
├── frontend/
├── docs/
├── README.md
└── .gitignore
- backend/: código-fonte da API desenvolvida em Laravel.
- frontend/: código-fonte da aplicação React.
- docs/: documentação técnica do projeto.
- README.md: apresentação geral do projeto.
- .gitignore: arquivos e pastas ignorados pelo Git.
O PetSystem V3 busca aplicar, ao longo do seu desenvolvimento:
- Arquitetura organizada
- API REST
- Separação de responsabilidades
- Padrão MVC no backend Laravel
- Uso do Eloquent ORM
- Autenticação e autorização
- Validação de dados
- Boas práticas de segurança
- Componentização no React
- Organização modular do frontend
- Banco de dados relacional
- Versionamento com Git e GitHub
- Testes automatizados
- Documentação técnica
Os comandos específicos de instalação e execução serão atualizados conforme a estrutura definitiva do projeto for implementada.
Será necessário ter instalado:
- PHP
- Composer
- MySQL
Será necessário ter instalado:
- Node.js
- npm
O projeto será desenvolvido de maneira incremental, seguindo as seguintes etapas:
- Arquitetura
- Banco de dados
- Backend/API
- Autenticação
- Frontend
- Integração
- Testes
- Segurança
- Documentação
- Deploy
O projeto utiliza Git e GitHub para controle de versão, seguindo o padrão de commits semânticos, por exemplo:
feat:— nova funcionalidadefix:— correção de bugrefactor:— refatoração de códigodocs:— alterações na documentaçãotest:— adição ou ajuste de testeschore:— tarefas de manutenção geral
Natan Da Luz
Linkedin: https://www.linkedin.com/in/natandaluz/
Email: Natandaluz01@gmail.com