Introdução
Este projeto guia você através da criação de um serviço simples de encurtamento de URLs usando Flask e MySQL. Você aprenderá a configurar um banco de dados, projetar uma interface web e implementar funcionalidades para encurtar URLs, pesquisar URLs por tags e visualizar análises. O projeto é amigável para iniciantes e oferece uma visão abrangente do desenvolvimento web com Python e gerenciamento de banco de dados.
O projeto é baseado em https://github.com/highoncarbs/shorty, que é originalmente licenciado sob a licença MIT.
👀 Pré-visualização
Converter a URL com/sem sufixo personalizado, pesquisar URLs por tag, acessar o link:
Visualizar informações sobre o sistema operacional e a plataforma usados para acessar o link:
🎯 Tarefas
Neste projeto, você aprenderá:
- Como conectar uma aplicação Flask a um banco de dados MySQL
- Como criar e gerenciar um esquema de banco de dados MySQL para armazenar informações de URL
- Como implementar páginas web frontend usando HTML e CSS para interagir com o backend
- Como lidar com dados de formulário e requisições no Flask para criar URLs curtas
- Como desenvolver funcionalidades para redirecionar usuários de uma URL curta para a URL original
- Como criar uma funcionalidade simples de análise para rastrear o uso de URLs, incluindo contagens de cliques e informações básicas sobre navegador/plataforma
- Como projetar tratamento de erros amigável ao usuário e páginas 404 personalizadas para uma melhor experiência do usuário
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Realizar operações básicas com MySQL, incluindo criação de banco de dados e tabelas, inserção de dados e consultas
- Entender os fundamentos do Flask, incluindo roteamento, tratamento de requisições e renderização de templates
- Trabalhar com formulários HTML e processar dados em uma aplicação Flask
- Aplicar princípios básicos de design frontend e usar CSS para criar uma interface web visualmente atraente
- Implementar análises simples para coletar e exibir dados sobre o uso de URLs
- Implementar as melhores práticas para tratamento de erros em aplicações web para melhorar a confiabilidade e a experiência do usuário





