Skip to content

erissonpeixoto/webscraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Informações técnicas do Projeto

  • Versão do Ruby: 3.2.1 (ou a versão especificada no arquivo .ruby-version)
  • Versão do Rails: 8.0.2
  • Banco de Dados: PostgreSQL (configuração padrão para projetos Rails modernos)
  • Yarn: 1.22.19 (ou a versão especificada no ambiente)
  • Node.js: 18.x (ou a versão especificada no ambiente)
  • React: 17.x (ou a versão especificada no package.json)

Informações do Projeto - Indexador de Perfis do Github

O projeto consiste em um scraper de perfis do Github. Funcionalidades:

  • Tela de cadastro e login de usuário com autenticação nativa do Rails 8.
  • Tela de cadastro de perfil do Github (scraper síncrono)
  • Tela de edição de perfil do Github apenas com os campos editáveis: nome e url do perfil. Ao salvar, será escaneado novamente para atualizar dados.
  • Tela de visualização do perfil do Github com todos as informações
  • Exclusão de perfis de Github
  • Listagem de perfis com as informações do nome e endereço encurtado e os botões de ações para visualizar, editar e excluir.
  • Implementação nativa de um encurtador de url, usando apenas os recursos do rails
  • Filtro de busca pelos campos nome, usuário do Github, organização ou localização

Dependências e Configuração

  1. Certifique-se de ter o Ruby, Node.js e o PostgreSQL instalados.
  2. Instale as dependências do backend com:
    bundle install
  3. Instale as dependências do frontend com:
    yarn install

Como Rodar o Projeto local

  1. Configure o banco de dados:
    rails db:setup
  2. Inicie o projeto com o comando:
    bin/dev
  3. Acesse a aplicação em http://localhost:3000.

Como Rodar o Projeto com Docker (recomendado)

  1. Inicie o projeto com o comando:

    docker compose up --build
  2. Acesse a aplicação em http://localhost:3000.

  3. Instale dependências React

Warning

Você pode receber o erro ActionView::Template::Error (The asset ‘application.js’ is not present in the asset pipeline.

O erro ocorre porque os recursos não foram compilados no modo de desenvolvimento, bin/rails assets:precompile

Caso receba erros de permissão para os diretórios tmp, log, db ou node_modules, pode dar permissão ex: chmod -R 0777 node_modules tmp log db

Como Rodar os testes com Docker

Executa os testes (rspec) no container app:

docker compose run --rm test
ou
docker compose exec app bash
bundle exec rspec spec/

Comandos Docker Utilizados

1. docker compose up

  • Resumo: Inicia os containers definidos no arquivo docker-compose.yml. Se os containers ainda não existirem, ele os cria. Esse comando também pode ser usado para rodar a aplicação.
  • Exemplo:
    docker compose up

2. docker compose up --build

  • Resumo: Inicia os containers e recria as imagens se houverem alterações no Dockerfile ou no contexto de build. Isso garante que a aplicação seja reconstruída com as últimas mudanças.
  • Exemplo:
    docker compose up --build

3. docker compose down

  • Resumo: Derruba os containers e remove redes, volumes e imagens associadas aos containers. Esse comando é útil quando você quer parar tudo e recomeçar.
  • Exemplo:
    docker compose down

4. docker compose logs app

  • Resumo: Exibe os logs do serviço app definido no docker-compose.yml. É útil para verificar o que está acontecendo dentro do container ou identificar erros.
  • Exemplo:
    docker compose logs app

5. docker compose exec app bash

  • Resumo: Executa um comando dentro do container em execução, no caso app. No exemplo, é aberto um shell interativo (bash) dentro do container, permitindo que você execute comandos dentro do ambiente do container.
  • Exemplo:
    docker compose exec app bash

6. ps aux | grep rails

  • Resumo: Comando do sistema operacional (não específico do Docker) que lista todos os processos em execução. Com grep rails, filtra os processos relacionados ao Rails. É útil para verificar se o servidor Rails está rodando dentro do container.
  • Exemplo:
    ps aux | grep rails

7. docker compose build

  • Resumo: Reconstrói as imagens Docker para os serviços definidos no arquivo docker-compose.yml, sem iniciar os containers. Pode ser útil para reconstruir as imagens quando há alterações no Dockerfile ou nas dependências.
  • Exemplo:
    docker compose build

8. docker compose run app rails db:create

  • Resumo: Executa um comando específico no container de um serviço. No exemplo, o comando rails db:create é executado no serviço app, criando o banco de dados do Rails. Este comando é útil para rodar tarefas específicas dentro do container.
  • Exemplo:
    docker compose run app rails db:create
    ou
    docker compose run app bundle exec rails db:create

9. docker compose run app rails db:migrate

  • Resumo: Executa as migrações do banco de dados no container app. O comando aplica as mudanças no banco de dados de acordo com os arquivos de migração do Rails.
  • Exemplo:
    docker compose run app rails db:migrate
    ou
    docker compose run app bundle exec rails db:migrate

About

Webscrapper para perfis do Github

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published