Este projeto é um encurtador de URLs simples e eficaz, desenvolvido em PHP utilizando o framework Laravel. Permite aos usuários criar links curtos personalizados e acompanhar suas estatísticas.
- PHP: 7.4
- Composer: 2.0 ou superior
- Node.js: (Se utilizar alguma ferramenta frontend)
- Banco de dados: SQLite (substituindo MySQL para simplificar o desenvolvimento e os testes)
- Clonar o repositório:
git clone https://github.com/lgomesroc/ShortLink
composer installCopiar o arquivo .env.example para .env e configurar as credenciais do banco de dados.
DB_CONNECTION=sqlite
DB_DATABASE=/caminho/para/seu/banco/database.sqliteRodar as migrações: php artisan migrate
touch database/database.sqlitephp artisan migratephp artisan serveCRUD completo para usuários e shortlinks: Adição, leitura, atualização e exclusão de usuários e links curtos.
Implementação básica do encurtador de links.
Criação do banco de dados e das tabelas.
Configuração das rotas e controllers.
Adição da funcionalidade de personalização de links curtos.
Implementação de validação de URLs.
Melhoria da interface do usuário.
Implementação do CRUD para API de usuários:
GET /users: Listar todos os usuários.
POST /users: Criar um novo usuário.
GET /users/{id}: Obter detalhes de um usuário específico.
PUT /users/{id}: Atualizar um usuário.
DELETE /users/{id}: Deletar um usuário.
Implementação do CRUD para API de shortlinks:
POST /short-links: Criar um novo link curto.
GET /short-links/{shortCode}: Obter detalhes de um link curto específico.
PUT /short-links/{shortCode}: Atualizar um link curto.
DELETE /short-links/{shortCode}: Deletar um link curto.
Configuração do Laravel Sanctum para autenticação de API.
Ajustes no Kernel.php para incluir middleware de autenticação.
Criação de um novo controlador para gerenciar a autenticação e login dos usuários.
Implementação de middleware para proteger rotas específicas.
Atualizações nas migrações para corrigir a estrutura do banco de dados.
Testes iniciais implementados na pasta de testes.
Fork este repositório.
Crie um novo branch para sua feature.
Faça suas alterações e commit.
Envie um pull request.
Este projeto está licenciado sob a licença MIT.