FastRoute - Projeto Backend
O FastRoute é um projeto de backend que visa facilitar a inclusão de rotas em uma aplicação REST, permitindo a criação rápida de endpoints CRUD com operações básicas. O banco de dados utilizado é o SQLite para facilitar os testes e a configuração inicial. Este projeto não possui frontend, focando apenas no backend.
Requisitos
- 
PHP 7.4+ ou superior
 
- 
Composer
 
- 
Banco de dados SQLite
 
- 
Postman ou Thunder Client (ou qualquer cliente de API REST)
## Estrutura do Projeto
A estrutura de pastas do projeto está organizada da seguinte forma:
 
/backend
    /Controllers
        - UserController.php
    /Database
        - config.php
        - Database.php
    /Http
        - HttpHeader.php
    /Models
        - User.php
    /Repositories
        - UserRepository.php
    /Rotas
        - rotas.php
        - Router.php
    - agenda.db
    - index.php
/vendor
.gitignore
composer.json
Configuração
Clone o repositório:
git clone https://github.com/faustinopsy/FastRoute.git
Baixe as dependencias do composer
composer install
Navegue até a pasta backend:
cd backend
Inicialize o servidor PHP:
Inicie o servidor embutido do PHP dentro da pasta backend para facilitar o teste:
php -S localhost:8000
Endpoints Disponíveis
O projeto inclui cinco operações CRUD nas mesmas rotas, variando apenas o método HTTP. Veja abaixo os endpoints disponíveis:
- 
GET /users - Retorna todos os usuários
 
- 
GET /users/{id} - Retorna um usuário específico pelo ID
 
- 
POST /users - Cria um novo usuário
 
- 
PUT /users/{id} - Atualiza um usuário existente pelo ID
 
- 
DELETE /users/{id} - Deleta um usuário existente pelo ID
 
Exemplo de Requisição com JSON
Para testar os endpoints, você pode usar o Postman ou Thunder Client. 
Exemplo para criar um novo usuário (POST /users):
Método: POST
URL: http://localhost:8000/users
Body (raw JSON):
{
  "nome": "seunomex",
  "email": "[email protected]",
  "senha": "1234"
}
Exemplo de Atualização de Usuário
Método: PUT
URL: http://localhost:8000/users/1
Body (raw JSON):
{
  "nome": "nomeatualizado",
  "email": "[email protected]",
  "senha": "nova_senha"
}
Exemplo de Deleção de Usuário
Método: DELETE
URL: http://localhost:8000/users/1