Este é um projeto simples de encurtador de URLs desenvolvido em PHP usando o Slim Framework. Ele permite que os usuários insiram uma URL longa e gerem uma URL curta, que redireciona para a URL original.
- Encurtar URLs longas.
- Redirecionamento usando URLs curtas.
- Registro de logs de acesso às URLs curtas.
- Listagem de urls curtas.
- Gerar QRCode da urls curtas.
- PHP: Linguagem de programação principal.
- Slim Framework: Um micro framework PHP usado para a construção da aplicação.
- Twig: Motor de templates utilizado para renderizar as views.
- PDO: Interface para acesso ao banco de dados MySQL.
- Phinx: Ferramenta de migração de banco de dados.
- PHP-DI: Container de injeção de dependências para PHP.
- dotenv: Biblioteca para carregar variáveis de ambiente de um arquivo
.env
. - qr-code: Biblioteca que gera o QRCode.
- PHP 7.4+
- Composer
- MySQL
-
Clone o repositório:
git clone https://github.com/yurineves92/url-shortener.git cd url-shortener
-
Instale as dependências via Composer:
composer install
-
Crie um banco de dados MySQL e configure o arquivo
.env
:cp .env.example .env
Edite o arquivo
.env
com suas credenciais de banco de dados. -
Execute as migrações para criar as tabelas necessárias:
vendor/bin/phinx migrate
Para iniciar o servidor de desenvolvimento, execute:
composer start
A aplicação estará disponível em http://localhost:8080.
- GET /: Página inicial com o formulário para encurtar uma URL.
- POST /: Encurta a URL enviada no formulário.
- GET /{short_url_path}: Redireciona para a URL original associada ao short_url_path.
- GET /recent-urls: Listagem de urls encurtadas.
- src/: Contém os arquivos principais da aplicação, incluindo modelos, controladores e configurações.
- public/: Pasta pública do servidor, contendo o index.php que inicia a aplicação.
- migrations/: Diretório de migrações do banco de dados.
- views/: Arquivos Twig para renderização das páginas HTML.
- twig/: Uso da extensão twig dentro do projeto.