{"id":14991245,"url":"https://github.com/ricardo-benicio/rubyguard","last_synced_at":"2026-02-09T21:15:48.669Z","repository":{"id":210939200,"uuid":"725258727","full_name":"ricardo-benicio/RubyGuard","owner":"ricardo-benicio","description":"RubyGuard - Application for test technical for company available.","archived":false,"fork":false,"pushed_at":"2024-01-17T18:13:13.000Z","size":712,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T19:28:55.933Z","etag":null,"topics":["development","devise","devise-jwt","postgresql","rspec","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricardo-benicio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-29T19:12:22.000Z","updated_at":"2023-12-05T18:37:31.000Z","dependencies_parsed_at":"2023-12-13T13:29:10.768Z","dependency_job_id":"cf2838db-276e-4a2f-8873-4db5f1196146","html_url":"https://github.com/ricardo-benicio/RubyGuard","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"f6f2b28ee56a40ee911872dd9dd968b5fd9c5de0"},"previous_names":["ricardofelipe7/rubyguard","ricardo-benicio/rubyguard"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardo-benicio%2FRubyGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardo-benicio%2FRubyGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardo-benicio%2FRubyGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardo-benicio%2FRubyGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricardo-benicio","download_url":"https://codeload.github.com/ricardo-benicio/RubyGuard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244890964,"owners_count":20527172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development","devise","devise-jwt","postgresql","rspec","ruby","ruby-on-rails"],"created_at":"2024-09-24T14:21:57.716Z","updated_at":"2026-02-09T21:15:48.637Z","avatar_url":"https://github.com/ricardo-benicio.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Documentação Técnica - Projeto RubyGuard\n## Introdução\nO Projeto RubyGuard é uma aplicação backend desenvolvida para demonstrar a capacidade técnica e criativa do candidato, com ênfase especial na segurança e na consideração das vulnerabilidades típicas de aplicações backend.\n\n### Gems de Autenticação - Devise e Devise-JWT\nPara garantir uma autenticação robusta e segura, o RubyGuard utiliza as gems 'Devise' e 'Devise-JWT'. Abaixo, detalhamos a funcionalidade proporcionada por cada uma:\n\n#### A gem 'Devise' é uma solução completa para autenticação de usuários no ambiente Ruby on Rails. Oferece funcionalidades essenciais, como login, registro, recuperação de senha e gerenciamento de sessão. Suas principais características incluem: \n- Flexibilidade de Configuração: Devise permite uma configuração flexível para atender às necessidades específicas do projeto.\n- Gestão de Sessões: Controle de sessões de usuário, incluindo a capacidade de encerrar sessões remotamente.\n- Segurança: Implementa boas práticas de segurança, incluindo hashes seguros para senhas e proteção contra ataques de força bruta.\n\n#### A gem 'Devise-JWT' é uma extensão do Devise que adiciona suporte para JSON Web Tokens (JWT). JWT é um padrão aberto (RFC 7519) que oferece uma forma compacta e segura de representar informações entre duas partes. As principais características incluem:\n- Token-Based Authentication: Utilização de tokens JWT para autenticação, proporcionando uma alternativa eficiente ao uso de sessões tradicionais.\n- Escalabilidade e Desempenho: Redução do uso de recursos do servidor, tornando a autenticação mais escalável.\n- Expiração de Token: Configuração de expiração para tokens, aumentando a segurança da aplicação.\n\n## Configuração do Ambiente\n- Para configurar o ambiente de desenvolvimento, siga as instruções abaixo:\n\n### Requisitos:\n- Ruby 3.2.2\n- Rails 7.1.2\n- PostgreSQL\n\n### Instalação de Dependências:\n```bash\nbundle install\nnpm install\nexec foreman start -f Procfile.dev\n```\n\n### Configuração do Banco de Dados:\n```bash\nrails db:create db:migrate\n```\n\n## Segurança e Vulnerabilidade\n- O RubyGuard adota diversas práticas de segurança para proteger a aplicação contra vulnerabilidades comuns. Alguns pontos destacados incluem:\n\n### Autenticação Segura:\n- Utilização da gem Devise para garantir autenticação robusta. A lógica de autenticação é testada de maneira abrangente para evitar falhas de segurança. \n\n### Proteção contra CSRF:\n- A aplicação utiliza o mecanismo padrão do Rails para proteção contra ataques CSRF.\n\n### Logs de Auditoria:\n- Implementação de logs para eventos importantes, como login bem-sucedido.\n\n### Segurança da Sessão:\n- A sessão do usuário é regenerada após autenticação para evitar manipulações indevidas.\n\n### Limitação de Tentativas de Login:\n- Mecanismo para detectar e bloquear tentativas repetidas de login.\n\n## Testes\nO RubyGuard possui testes automatizados que cobrem:\n\nModelos, controladores e serviços.\n```bash\n    bundle exec rspec\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricardo-benicio%2Frubyguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricardo-benicio%2Frubyguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricardo-benicio%2Frubyguard/lists"}