https://github.com/mihguelsilva/api-restful-mvc
Projeto backend em PHP estruturado com MVC, rotas personalizadas, autenticação segura com JWT e proteção de rotas com middleware.
https://github.com/mihguelsilva/api-restful-mvc
composer jwt jwt-authentication jwt-token mariadb mvc mvc-architecture mysql php psr-4
Last synced: 5 months ago
JSON representation
Projeto backend em PHP estruturado com MVC, rotas personalizadas, autenticação segura com JWT e proteção de rotas com middleware.
- Host: GitHub
- URL: https://github.com/mihguelsilva/api-restful-mvc
- Owner: mihguelsilva
- Created: 2025-05-03T22:19:46.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-04T20:12:57.000Z (5 months ago)
- Last Synced: 2025-05-04T21:24:40.793Z (5 months ago)
- Topics: composer, jwt, jwt-authentication, jwt-token, mariadb, mvc, mvc-architecture, mysql, php, psr-4
- Language: PHP
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🛡️ API RESTful com Autenticação JWT em PHP (MVC)
[](https://www.php.net/)
[](LICENSE)
[]()
[](https://github.com/mihguelsilva)> Projeto backend em PHP estruturado com MVC, rotas personalizadas, autenticação segura com JWT e proteção de rotas com middleware.
---
## ✨ Funcionalidades
- ✅ Estrutura MVC modular e organizada
- ✅ Geração e validação de tokens JWT
- ✅ Autenticação segura de usuários
- ✅ Manipulação de requisições via JSON e `x-www-form-urlencoded`
- ✅ Sanitização e validação de entrada (anti-XSS, anti-injeção)
- ✅ Arquitetura flexível, preparada para evolução e testes## 🛡️ Segurança Aplicada
- 🔒 Filtro contra XSS via classe `Sanitize`
- 🔒 Validação avançada via classe `Validator`
- 🔒 Suporte para filtros por tipo (`email`, `integer`, `min`, `max`, etc.)
- 🔒 Preparação para evitar SQL Injection
- 🔒 Separação de rotas entre API e HTML## ⚙️ Tecnologias e Padrões
- 🧩 PHP 8.2+
- 🗂️ MVC Puro
- 📦 PSR-4 (autoload via Composer)
- 🪝 JWT Authentication
- 📄 application/json e application/x-www-form-urlencoded
- 🧪 Arquitetura testável e extensível---
## 🧱 Estrutura do Projeto
```plaintext
App/
│
├── Core/ # Classes base (Request, Response, Router, Validator, etc.)
├── Controllers/ # Controladores da aplicação
├── Models/ # Modelos de dados
├── Views/ # Páginas HTML (se aplicável)
├── Middlewares/ # (Em breve)
└── public/ # Ponto de entrada (index.php)```
---
## 🧪 Como testar a API
### 🔐 Login para obter o token
```bash
curl -X POST http://seu-dominio/login \
-H "Content-Type: application/json" \
-d '{"email": "usuario@example.com", "senha": "senha"}'
```### 📡 Acessar rota protegida /admin
```bash
curl -X GET http://seu-dominio/admin \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI"
```## 🔐 Segurança
-Tokens JWT com expiração
- Validação de token via middleware personalizado
- .env para separar dados sensíveis
- Arquitetura desacoplada e testável## 📜 Licença
Este projeto está licenciado sob a [MIT License](LICENSE).
---
## 👨💻 Autor
**Mihguel da Silva Santos Tavares de Araujo**
🔗 [LinkedIn](https://www.linkedin.com/in/mihguel-da-silva-santos-tavares-de-araujo)
🐙 [GitHub](https://github.com/mihguelsilva)---
> 📚 Este projeto é parte de um aprendizado contínuo sobre arquitetura MVC, segurança em APIs RESTful e boas práticas em PHP moderno.
> Estou muito feliz com meu progresso e este é apenas o começo! 💙
> 🧪 Pronto para o próximo nível: Laravel, APIs mais complexas, autenticação via sessão, ACL, permissões, testes e muito mais.