Este projeto é um sistema desenvolvido em Laravel, PHP 8.2, MySQL 8 e TailwindCSS que consome a API-Football para fornecer informações detalhadas sobre campeonatos de futebol. O sistema permite visualizar Campeonatos, próximos jogos, últimos resultados e partidas específicas de um time.
Este projeto está hospedado no serviço EC2 da AWS. Você pode acessá-lo e testá-lo agora mesmo clicando no link: Deploy do Projeto no EC2
Todas as funcionalidades exigidas no enunciado foram implementadas com sucesso. Além disso, aproveitei a oportunidade para adicionar novas funcionalidades e aprimoramentos extras. Abaixo seguem as principais funcionalidades deste projeto:
-
Seleção de Campeonato
- O usuário pode escolher um campeonato (ex: Campeonato Brasileiro, Premier League, La Liga).
-
Visualização dos Jogos Programados
- Exibe os próximos jogos de um campeonato com as seguintes informações:
- Nome dos times (casa e visitante)
- Data e horário do jogo
- Estádio (se disponível)
- Exibe os próximos jogos de um campeonato com as seguintes informações:
-
Consulta dos Últimos Resultados
- Mostra os últimos jogos de um campeonato com o placar final.
- Exemplo: Flamengo 2x1 Vasco
-
Busca por um Time Específico
- Permite pesquisar um time pelo nome e visualizar:
- Detalhes do time pesquisado
- Últimos resultados
- Permite pesquisar um time pelo nome e visualizar:
-
Login e Registro de Novos Usuários
- Permite que novos usuários se cadastrem e acessem o sistema:
- Realizar login com credenciais cadastradas
- Criar uma nova conta de usuário
- Permite que novos usuários se cadastrem e acessem o sistema:
- Linguagem PHP v8
- Laravel Framework (Última versão)
- Laravel Breeze (Scaffold completo para as telas de usuário, login, register, etc.)
- MySQL v8
- Tailwind CSS v4
- API-Football (Integração para dados esportivos)
-
Clone o repositório:
git clone https://github.com/am-matheusoliveira/desafio-futebol-app.git cd desafio-futebol-app
-
Instale as dependências do Laravel:
composer install
-
Instale as dependências do frontend:
npm install
-
Copie o arquivo de configuração e gere a chave do app:
cp .env.example .env php artisan key:generate
-
Configure o banco de dados no
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=futebol_app DB_USERNAME=root DB_PASSWORD=seu_password
-
Execute as migrações:
php artisan migrate
-
Configure sua chave da API-Football no
.env
:API_FOOTBALL_KEY=sua_chave_da_api
-
Inicie o servidor local:
php artisan serve
-
Inicie o Vite para compilar os assets:
npm run dev
Ou compile os assets:
npm run build
-
Acesse o projeto no navegador:
Após executar todas as etapas acima, o sistema estará disponível em:
Para ilustrar melhor o funcionamento do sistema, abaixo estão algumas telas da aplicação.
A API-Football, em sua versão gratuita, não fornece informações sobre jogos a partir de 2024. Os dados disponíveis abrangem os anos de 2021 a 2023.
Para garantir o funcionamento do sistema e atender aos requisitos do desafio técnico, todas as consultas e exibições de partidas foram ajustadas para trabalhar dentro deste intervalo de anos suportados.
Abaixo, segue uma imagem com um aviso da API sobre essas limitações:
Se, após a execução de todas as etapas anteriores, você ainda não conseguir rodar este projeto, não se preocupe! Você ainda pode acessá-lo e testá-lo através do deploy de produção. Acesse o link deste projeto, que está rodando no AWS EC2: Deploy do Projeto no EC2
-
PHP 8.2
Documentação oficial do PHP 8.2 -
Laravel Framework
Documentação oficial do Laravel -
MySQL Database
Documentação oficial do MySQL -
TailwindCSS
Documentação oficial do TailwindCSS -
API-FUTEBOL
Documentação oficial do API-FUTEBOL
Sinta-se à vontade para explorar o código e fazer melhorias.
Se tiver alguma dúvida, entre em contato.