Esta documentação descreve o sistema encurtador de links, que é composto por um front-end desenvolvido em Vue.js e um back-end desenvolvido em Laravel. O sistema permite aos usuários encurtar URLs longas e acompanhar o número de acessos aos links encurtados.
O front-end do sistema foi desenvolvido utilizando o framework Vue.js. Ele fornece uma interface de usuário interativa para encurtar links e gerenciar as URLs encurtadas.
- src/
- assets/: Contém os recursos estáticos, como imagens e arquivos de estilo.
- views/: Contém os arquivos das views do sistema.
- routes/index.php: Arquivo de configuração das rotas do front-end.
- App.vue: Arquivo principal do aplicativo Vue.js.
- main.js: Arquivo de entrada que inicializa o aplicativo Vue.js e configura as dependências.
- Vue.js: Framework JavaScript para construção de interfaces de usuário.
- Bootstrap: Biblioteca de CSS que oferece componentes e estilos pré-definidos.
- Axios: Biblioteca para realizar requisições HTTP.
- Vue Router: Biblioteca para gerenciamento de rotas no Vue.js.
O back-end do sistema foi desenvolvido utilizando o framework Laravel. Ele fornece uma API para criação, recuperação, edição e exclusão de links encurtados.
- app/Console/Commands/ResetLinkAccess.php: Arquivo de onde é configurado a cron para reset do número de acessos.
- app/Http/Controllers/api/LinksController.php: Arquivo Controller responsável por coordenar as ações do back-end, como processamento de dados, manipulação de modelos e retorno de respostas para o cliente.
- app/Models/Links.php: Arquivo onde está contido a estrutura de dados e a lógica de negócios da aplicação.
- database/migrations: Arquivos responsáveil pelo versionamento da estrutura do banco de dados.
- routes/api.php: Arquivo onde contém todas as rotas da aplicação.
O sistema utiliza o banco de dados (linkshortener) MySQL para armazenar os links encurtados. A conexão com o banco de dados é configurada no arquivo ".env" do Laravel.
O sistema possui uma tarefa cron programada para ser executada todo primeiro dia do mês. Essa tarefa zera o número de acessos de todos os links encurtados armazenados no banco de dados.
-
Certifique-se de ter o Node.js e o npm instalados em seu sistema.
-
Navegue até o diretório do front-end.
-
Instale as dependências do projeto executando o comando: npm install
-
Inicie o servidor de desenvolvimento executando o comando: npm run dev
-
Certifique-se de ter o PHP e o Composer instalados em seu sistema.
-
Navegue até o diretório do back-end.
-
Instale as dependências do projeto executando o comando: composer install
-
Configure a conexão com o banco de dados no arquivo ".env".
-
Gere a chave de aplicação executando o comando: php artisan key:generate
-
Execute as migrações do banco de dados para criar a tabela necessária executando o comando: php artisan migrate
-
Inicie o servidor PHP embutido executando o comando: php artisan serve --port=8000
- PHP: ^8.0.2
- axios: ^1.4.0
- bootstrap: ^5.2.3
- vue: ^3.3.2
- vue-router: ^4.2.1