*Aos mods: não sei se isso estaria quebrando a regra 9. O projeto é um canvas em branco aberto, onde todos podem interagir livremente com qualquer pixel. Não há nenhum tipo de monetização e nenhum dado pessoal dos usuários é armazenado, já que o projeto foi pensado para ser completamente anônimo.*
Link para o Projeto
https://mcag12.github.io/project-aws-test/
(Texto 100% Humano)
Olá, pessoal! Queria divulgar meu primeiro projeto que coloquei no ar.
Desde que comecei a estudar programação (há uns 2 anos), sempre quis fazer um app "de verdade", algo que as pessoas realmente pudessem utilizar, mesmo que fosse algo tonto, e não apenas mais um repositório parado no meu GitHub.
Um mês atras decidi fazer exatamente isso de tema peguei uma das mihnas coisas preferidas aqui no Reddit: os eventos do r/place.
Como já faz um bom tempo desde o ultimo (acho que foi em 2023?), decidi aproveitar a ideia e criar um pequeno experimento um website com um quadro de 128×128 pixels, aberto para qualquer pessoa escolher uma cor, começar a pintar e, quem sabe, trabalhar junto com outras pessoas para desenhar alguma coisa.
A ideia é simples: o canvas começa em branco (com exceção de alguns testes feitos durante o desenvolvimento no canto superior esquerdo) e vocês decidem o que vai aparecer nele escolhendo a cor de cada pixel.
Se alguém resolver começar algum desenho ou simplesmente colocar um pixel aleatório, já valeu o experimento. 🙂
links do Repo open-source
back – https://github.com/MCaG12/aws-project-test-backend
front https://github.com/MCaG12/project-aws-test
Stack para quem tem interesse
Frontend: Vue + TypeScript + Vite
Backend: Node.js + TypeScript, hospedado em "DuckDns" (foi o único subdomínio gratuito que encontrei)
Comunicação em tempo real: Server-Sent Events (SSE), para que as alterações feitas no canvas sejam refletidas para os outros usuários sem precisar atualizar a página.
Redis: utilizado como camada de armazenamento rápido para manter o estado do canvas e auxiliar na recuperação dos dados.
PostgreSQL (RDS): utilizado como armazenamento persistente, garantindo que o canvas não seja perdido caso a aplicação seja reiniciada.
AWS: utilizada para hospedar e configurar parte da infraestrutura do projeto, sendo também uma oportunidade de colocar em prática o que venho estudando sobre Cloud.
GitHub Pages: utilizado para hospedar o frontend.
https://i.redd.it/rqyynbeo0boh1.png
Source: r/brdev · by /u/PracticalTourist5434
