{"id":15016821,"url":"https://github.com/rafaelblum/retro-community","last_synced_at":"2026-03-07T17:05:51.727Z","repository":{"id":240147306,"uuid":"801298336","full_name":"RafaelBlum/retro-community","owner":"RafaelBlum","description":"Retrô Community é um sistema de blog com intuito de potencializar a comunidade de Youtubers de games retrô, com informações, eventos e campanhas para que todos possam ficar informados e unidos.","archived":false,"fork":false,"pushed_at":"2025-04-10T20:48:03.000Z","size":6559,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T21:35:05.851Z","etag":null,"topics":["alpinejs","debugger","developer","filament","filamentphp","laravel","laravel-framework","livewire","mysq","php","tailwin","tall-stack","website"],"latest_commit_sha":null,"homepage":"https://www.retrocommunity.com.br","language":"Blade","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/RafaelBlum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2024-05-16T00:54:49.000Z","updated_at":"2025-04-10T20:48:06.000Z","dependencies_parsed_at":"2024-05-17T01:28:10.526Z","dependency_job_id":"26857669-a57b-4246-b9dc-359aa48b93e4","html_url":"https://github.com/RafaelBlum/retro-community","commit_stats":{"total_commits":144,"total_committers":2,"mean_commits":72.0,"dds":"0.29166666666666663","last_synced_commit":"37541903e2571d0fc8d71e47ef4322d5680b975f"},"previous_names":["rafaelblum/blog-hack-game"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelBlum%2Fretro-community","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelBlum%2Fretro-community/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelBlum%2Fretro-community/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelBlum%2Fretro-community/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RafaelBlum","download_url":"https://codeload.github.com/RafaelBlum/retro-community/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248557266,"owners_count":21124156,"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":["alpinejs","debugger","developer","filament","filamentphp","laravel","laravel-framework","livewire","mysq","php","tailwin","tall-stack","website"],"created_at":"2024-09-24T19:49:25.695Z","updated_at":"2026-03-07T17:05:51.713Z","avatar_url":"https://github.com/RafaelBlum.png","language":"Blade","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Logo Retrô Community (dark)](public/images/brandname/horizontal-retrocommunity.png#gh-dark-mode-only)\n\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003e✨ Plataforma Retro Community ✨\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003eMais do que uma rede de canais, é um ponto de encontro para apaixonados por jogos, cultura retrô e streaming independente.\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0-brightgreen\" alt=\"version project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PHP-8.2.12-informational\" alt=\"stack project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Laravel-12.30.1-ff2d20\" alt=\"stack project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Livewire-3.6.4-purple\" alt=\"stack project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Filament-4.0.18-blueviolet\" alt=\"stack project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TailwindCSS-4.1.13-38bdf8\" alt=\"stack project\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Composer-2.8.4-brightgreen\" alt=\"stack project\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT License\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 📘 Contextualização e Objetivo\n\nO Retro Community é uma plataforma inovadora criada para potencializar a presença digital de criadores de conteúdo do YouTube, oferecendo um espaço que vai muito além da plataforma de vídeos e sempre zelando pela segurança, escalabilidade e fácil gerenciamento.\n\nSeu objetivo é conectar canais, inscritos e comunidades em um ambiente interativo, imersivo e totalmente voltado à experiência retrô — com recursos que integram dados do YouTube e funcionalidades exclusivas dentro da própria plataforma.\n\n## 🌟 **Proposta** dos principais Recursos\n\n- Páginas destacando conteúdos principais, como: **postagens, canais, campanhas, página sobre a plataforma e perfil de cada criador de conteúdo**.\n\n- **Página de perfil completa**, onde pode exibir:\n  - Informações do canal (título, descrição, logo e etc).\n  - Inserir sua Campanhas e QRcode do livePix.\n  - Links para redes sociais e um vídeo.\n  - Seção de “Canais Parceiros”, fortalecendo a rede entre criadores.\n  - Dados dos seus Seguidores da plataforma.\n  - Integração com a API do YouTube para sincronização de número real de inscritos e vídeos.\n  - Ao logar o usuário tem a possibilidade de inciar sorteio com roleta.\n\n- Controle de acesso\n  - Os usuários terão perfil de acesso\n  - Seguidores devem criar cadastro simples para seguir canal e ter acesso a comentários.\n\n- Notificações\n  - Notificações por e-mail para os seguidores quando o canal postar algo.\n  - Notificação por e-mail para confirmar o acesso do streamer ou seguidor.\n\n- 📰 Sistema de Postagens\n  - Criação e gerenciamento de posts com suporte a um editor avançado permitindo editar e visualizar conteúdo.\n  - Comentários de seguidores.\n  - Organização por categorias e tags.\n  \n- Recursos Especiais\n  - Ranking de Canais Mais Seguidos;\n  - Validação de e-mail e controle de limite de interações por usuário (ex: 1 comentário por post/dia).\n  - Criação de enquetes simples.\n\n- 🛠️ Área Administrativa\n  - Área especial para administradores.\n  - Painel intuitivo para gerenciar seus conteúdos e dados.\n  - Controle de acesso por **perfis e permissões**, garantindo segurança e integridade.\n\n\n\u003cdiv align=\"center\"\u003e\n\n![Logo Retrô Community (dark)](public/images/docs/mapa.png#gh-dark-mode-only)\n\n\u003c/div\u003e\n\n## 🧩 Especificação de Requisitos do Sistema\n\nA seguir estão definidos os requisitos que orientam o desenvolvimento da plataforma **Retro Community**, separando **Requisitos Funcionais (RF)** e **Requisitos Não Funcionais (RNF)**.\n\nPara analise e desenvolvimento dos requisitos, terá a **[documentação ágil](/requirements.md)** de desenvolvimento, o que garantem que o sistema atenda às necessidades do projeto, mantenha alta qualidade técnica e ofereça uma experiência estável, segura e imersiva.\n\n\u003e Status: 🟡 Em desenvolvimento | 🟢 Concluído | 🔴 Pendente\n---\n\n## 🧭 `RF` Requisitos Funcionais\n\nOs **requisitos funcionais** descrevem as **funcionalidades e comportamentos esperados** do sistema — ou seja, o que a plataforma deve fazer.\n\n|  Status  | ID        | Funcionalidade                               | Descrição                                                                                                                                            |\n|----|-----------|----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 🟡 | **RF001** | **Autenticação e Perfis de Acesso**          | O sistema deve permitir autenticação de usuários (streamers e seguidores), com controle de acesso baseado em perfis e permissões.                    |\n| 🔴 | **RF002** | **Cadastro de Seguidores**                   | O seguidor deve poder realizar um cadastro simples para seguir canais, comentar e receber notificações.                                              |\n| 🟡 | **RF003** | **Página Inicial (Home)**                    | O sistema deve exibir conteúdos principais como postagens em destaque, canais e campanhas ativas.                                                    |\n| 🟡 | **RF004** | **Gestão de Canais**                         | Cada criador deve poder gerenciar as informações do seu canal (nome, descrição, logo, links, vídeo de apresentação e QR Code do LivePix).            |\n| 🟡 | **RF005** | **Página de Perfil do Canal**                | O sistema deve disponibilizar uma página personalizada por canal, exibindo informações do criador, campanhas, vídeos, seguidores e canais parceiros. |\n| 🔴 | **RF006** | **Integração com a API do YouTube**          | O sistema deve integrar-se à API do YouTube para sincronizar dados do canal, como número de inscritos e vídeos.                                      |\n| 🟢 | **RF007** | **Sistema de Postagens**                     | O sistema deve permitir a criação, edição e exclusão de postagens, com suporte a editor avançado e visualização prévia.                              |\n| 🟡 | **RF008** | **Categorias e Tags**                        | O sistema deve permitir a organização das postagens por categorias e tags para facilitar a navegação e busca.                                        |\n| 🔴 | **RF009** | **Comentários em Postagens**                 | O sistema deve permitir que seguidores comentem nas postagens, respeitando limitações definidas (ex: 1 comentário por dia).                          |\n| 🔴 | **RF010** | **Validação de E-mail**                      | O sistema deve enviar e-mails de verificação para confirmar o cadastro de novos usuários (streamers e seguidores).                                   |\n| 🔴 | **RF011** | **Notificações por E-mail**                  | O sistema deve enviar notificações automáticas para seguidores quando um canal que seguem publicar um novo post.                                     |\n| 🟡 | **RF012** | **Campanhas de Canais**                      | Os criadores devem poder criar e gerenciar campanhas associadas aos seus canais, incluindo imagens, descrições e QR Code de doação.                  |\n| 🟡 | **RF013** | **Roleta de Sorteio**                        | O sistema deve disponibilizar uma roleta interativa para sorteios, acessível apenas para criadores logados.                                          |\n| 🔴 | **RF014** | **Ranking de Canais Mais Seguidos**          | O sistema deve exibir um ranking atualizado dos canais com maior número de seguidores na plataforma.                                                 |\n| 🔴 | **RF015** | **Enquetes Simples**                         | O sistema deve permitir a criação de enquetes básicas para engajamento dos seguidores.                                                               |\n| 🔴 | **RF016** | **Sistema de Notificações Internas**         | O sistema deve exibir notificações dentro da plataforma (no painel do usuário) relacionadas a novos posts, campanhas ou interações.                  |\n| 🟡 | **RF017** | **Painel Administrativo (Filament PHP)**     | O sistema deve possuir uma área administrativa para controle completo de usuários, posts, campanhas, enquetes, permissões e configurações.           |\n| 🟡 | **RF018** | **Controle de Permissões e Papéis**          | Deve haver controle granular de acesso, garantindo que apenas usuários autorizados possam alterar ou excluir determinados conteúdos.                 |\n| 🟡 | **RF019** | **Dashboard Analítica**                      | O painel administrativo deve apresentar dados estatísticos, como número de canais, posts, seguidores e interações.                                   |\n| 🟡 | **RF020** | **Segurança e Integridade dos Dados**        | O sistema deve assegurar a proteção dos dados de usuários e canais, evitando acessos não autorizados ou manipulações indevidas.                      |\n| 🟡 | **RF021** | **Integração com a API do Retroachivements** | O sistema deve assegurar a proteção dos dados de usuários e canais, evitando acessos não autorizados ou manipulações indevidas.                      |\n---\n\n## ⚙️ `RNF` Requisitos Não Funcionais\n\nOs **requisitos não funcionais** especificam **como** o sistema deve ser desenvolvido, definindo tecnologias, padrões de qualidade, desempenho e manutenção.\n\n| ID | Tecnologia / Ferramenta | Descrição |\n|----|---------------------------|------------|\n| 🟢 **RNF001** | **Laravel** | O sistema deve utilizar o framework **Laravel** como base backend, adotando a arquitetura **MVC** e fornecendo **APIs RESTful**. |\n| 🟢 **RNF002** | **Filament PHP v4.18** | O painel administrativo deve ser desenvolvido com **Filament PHP**, garantindo um ambiente moderno, personalizável e seguro. |\n| 🟢 **RNF003** | **Tailwind CSS v4** | O frontend deve utilizar **Tailwind CSS** para assegurar uma interface moderna, responsiva e consistente. |\n| 🟢 **RNF004** | **Alpine.js** | O sistema deve adotar **Alpine.js** para prover interatividade leve e reativa no frontend. |\n| 🟢 **RNF005** | **Livewire v3** | Deve ser utilizado **Livewire v3** para criação de componentes dinâmicos e reativos, reduzindo a necessidade de scripts JavaScript manuais. |\n| 🟢 **RNF006** | **MySQL** | O sistema deve utilizar **MySQL** como banco de dados relacional principal, garantindo integridade e desempenho nas transações. |\n| 🟢 **RNF007** | **Vite** | O processo de build deve ser gerenciado por **Vite**, proporcionando empacotamento rápido de assets e integração eficiente com o Tailwind CSS. |\n| 🟢 **RNF008** | **JSConfetti** | O frontend deve integrar a biblioteca **JSConfetti** para prover efeitos visuais e feedback animado em eventos específicos. |\n| 🟢 **RNF009** | **ScrollReveal** | Deve ser utilizado **ScrollReveal** para animações de entrada de elementos, aprimorando a experiência visual e a usabilidade. |\n| 🟢 **RNF010** | **JavaScript (nativo)** | O sistema deve utilizar **JavaScript nativo** para personalizações adicionais de efeitos e interações no frontend. |\n\n## :books: `DER` Diagramação do projeto | Prototipagem\n\u003e As classes do sistema estão claramente definidas em um diagrama de classes **(em analise)**.\n\n\n\u003cdiv align=\"center\"\u003e\n\n![Logo Retrô Community (dark)](public/images/docs/diagram.png#gh-dark-mode-only)\n\n\u003c/div\u003e\n\n### 🧱 Observações Gerais\n\n- O projeto adota a arquitetura **TALL Stack** (Tailwind, Alpine, Laravel, Livewire).\n- Todas as tecnologias seguem **versões estáveis e atualizadas**.\n- O sistema prioriza **segurança, escalabilidade, desempenho e experiência do usuário**.\n- As dependências são gerenciadas por **Composer** (PHP) e **npm** (JavaScript).\n- A documentação técnica e o código seguem boas práticas de **manutenibilidade** e **padronização**.\n\n![PHP](https://img.shields.io/badge/PHP-777BB4?logo=php\u0026logoColor=white)\n![Laravel](https://img.shields.io/badge/Laravel-FF2D20?logo=laravel\u0026logoColor=white)\n![Livewire](https://img.shields.io/badge/Livewire-4E56A6?logo=laravel\u0026logoColor=white)\n![Filament](https://img.shields.io/badge/FilamentPHP-2E5BFF?logo=laravel\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/MySQL-005C84?logo=mysql\u0026logoColor=white)\n![Alpine.js](https://img.shields.io/badge/Alpine.js-8BC0D0?logo=alpine.js\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript\u0026logoColor=black)\n![TailwindCSS](https://img.shields.io/badge/TailwindCSS-06B6D4?logo=tailwindcss\u0026logoColor=white)\n![JSConfetti](https://img.shields.io/badge/JSConfetti-0769AD?logo=tailwindcss\u0026logoColor=white)\n![ScrollReveal](https://img.shields.io/badge/ScrollReveal-0769AD?logo=tailwindcss\u0026logoColor=white)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelblum%2Fretro-community","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelblum%2Fretro-community","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelblum%2Fretro-community/lists"}