8000 GitHub - am-matheusoliveira/desafio-futebol-app: Sistema de Jogos de Futebol - API-FOOTBALL
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

am-matheusoliveira/desafio-futebol-app

Repository files navigation

📌 Sistema de Jogos de Futebol - API-Football

Objetivo

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.

Deploy do projeto em produção

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

Funcionalidades desta Aplicação

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:

🎯 Principais Funcionalidades

  1. Seleção de Campeonato

    • O usuário pode escolher um campeonato (ex: Campeonato Brasileiro, Premier League, La Liga).
  2. 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)
  3. Consulta dos Últimos Resultados

    • Mostra os últimos jogos de um campeonato com o placar final.
    • Exemplo: Flamengo 2x1 Vasco
  4. Busca por um Time Específico

    • Permite pesquisar um time pelo nome e visualizar:
      • Detalhes do time pesquisado
      • Últimos resultados
  5. 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

🚀 Tecnologias Utilizadas

  • 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)

📥 Instalação

  1. Clone o repositório:

    git clone https://github.com/am-matheusoliveira/desafio-futebol-app.git
    cd desafio-futebol-app
  2. Instale as dependências do Laravel:

    composer install
  3. Instale as dependências do frontend:

    npm install
  4. Copie o arquivo de configuração e gere a chave do app:

    cp .env.example .env
    php artisan key:generate
  5. 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
  6. Execute as migrações:

    php artisan migrate
  7. Configure sua chave da API-Football no .env:

    API_FOOTBALL_KEY=sua_chave_da_api
  8. Inicie o servidor local:

    php artisan serve
  9. Inicie o Vite para compilar os assets:

    npm run dev

    Ou compile os assets:

    npm run build
  10. Acesse o projeto no navegador:

    Após executar todas as etapas acima, o sistema estará disponível em:

    http://127.0.0.1:8000

🖼️ Imagens da Aplicação

Para ilustrar melhor o funcionamento do sistema, abaixo estão algumas telas da aplicação.

1. Página inicial da Aplicação:

01-IMG-HOME-SISTEMA

2. Tela de Login da Aplicação:

02-IMG-LOGIN

3. Tela de Cadastro de novos Usuários da Aplicação:

03-IMG-NOVO-USUARIO

4. Dashboard da Aplicação:

10-IMG-DASHBOARD-SISTEMA

5. Campeonatos:

04-IMG-CAMPEONATOS

6. Jogos do Campeonato:

05-IMG-JOGOS-CAMPEONATOS

7. Resultado do Campeonato(Jogos que aconteceram):

06-IMG-RESULTADO-CAMPEONATO

8. Buscar Time Especifico:

07-IMG-BUSCAR-TIME

9. Jogos do Time Selecionado:

08-IMG-JOGOS-TIME

⚠️ Disclaimer

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:

📷 Imagem - Aviso de limites da API

erro-plano-gratuito-limite

Não conseguiu rodar o projeto?

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


Referências


Sinta-se à vontade para explorar o código e fazer melhorias.
Se tiver alguma dúvida, entre em contato.

Releases

No releases published

Packages

No packages published
0