Adicionei o firebase como base de dados. Não modifiquei nada de muito preciso embora acredite em uma refatoração do projeto usando algumas outras tecnologias que possam melhorar e agilizar a entrega de um serviço para a comunidade.
Optei pelo uso do firebase pois ele tem um plano gratuito que tem como limite de leituras diario 50 mil requisições o que pode ser muito neste inicio.
Com esse refactor fiz uma area administrativa com login de email/senha do firebase onde se tem mum semi crud para adicionar e remover os desafios.
Fiz alguns ajustes nos links da página inicial e nos selects da pagina de desafios para trazerem os desafios de acordo com a estrutura do firebase mas sem alterar os componentes no geral.
Como nao tem a integração com o dev nesta versão eu adicionei o link do repositório e o usuário no cadastro do desafio..
Existe uma flag no desafio chamada active que é boolean e que pode nos ajudar a controlar se os desafios enviados foram aprovados ou não.
Junto com isso adicionei uma tabela de newsletter para podermos trabalhar com isso em um futuro proximo automatizando com cron jobs (que ja tenho um serviço similar rodando hoje). Usei uma estrutura bem básica.
Para finalizar a implementação teria que criar uma base no firebase, e colocar as chaves que forem geradas nas variaveis de ambiente do projeto e configurar os buckets storage e firestore database para poder usar.
Alguns pontos a considerar e que adoraria participar:
Adicionar Typescript
Migrar de CRA para VITE
Usar alguma ferramenta que adiante o processo de criação dos componentes, eu curto Material UI ou ShadCn/ui
Usar validadores de forms, como implementado, YUP e formik para manipulação dos estados do form.
Criar um roadmap de release de features para podermos implementar com a comunidade.
Fica aí o pr para aprovação. Qualquer dúvida estou aqui animado e ansioso para colaborar mais.
Adicionei o firebase como base de dados. Não modifiquei nada de muito preciso embora acredite em uma refatoração do projeto usando algumas outras tecnologias que possam melhorar e agilizar a entrega de um serviço para a comunidade.
Optei pelo uso do firebase pois ele tem um plano gratuito que tem como limite de leituras diario 50 mil requisições o que pode ser muito neste inicio.
Com esse refactor fiz uma area administrativa com login de email/senha do firebase onde se tem mum semi crud para adicionar e remover os desafios.
Fiz alguns ajustes nos links da página inicial e nos selects da pagina de desafios para trazerem os desafios de acordo com a estrutura do firebase mas sem alterar os componentes no geral.
Como nao tem a integração com o dev nesta versão eu adicionei o link do repositório e o usuário no cadastro do desafio..
Existe uma flag no desafio chamada active que é boolean e que pode nos ajudar a controlar se os desafios enviados foram aprovados ou não.
A estrutura do desafio ficou assim
Junto com isso adicionei uma tabela de newsletter para podermos trabalhar com isso em um futuro proximo automatizando com cron jobs (que ja tenho um serviço similar rodando hoje). Usei uma estrutura bem básica.
Para finalizar a implementação teria que criar uma base no firebase, e colocar as chaves que forem geradas nas variaveis de ambiente do projeto e configurar os buckets storage e firestore database para poder usar.
Alguns pontos a considerar e que adoraria participar:
Fica aí o pr para aprovação. Qualquer dúvida estou aqui animado e ansioso para colaborar mais.