Replies: 10 comments 18 replies
-
A viabilidade dessa alteração precisa ser discutida com o @willshobwish e, também, com o @Salies e o @GuiBatalhoti (turma 2020) que se disponibilizaram a ajudar na SECOMPP de 2024. Também seria útil ver se a @cacic-fct/chapa-ada-lovelace consegue disponibilizar mão de obra ou se consegue captar horas de ACC como incentivo para alunos que quiserem colaborar com o desenvolvimento. Para a SECOMPP22 foram fornecidas 10 horas de ACC para os desenvolvedores do sistema, no entanto, eles pouco colaboraram. |
Beta Was this translation helpful? Give feedback.
-
SupabaseUma instância do Supabase simulando o ambiente de produção está sendo hospedada em https://supabase-fctapp.cacic.dev.br Houve uma tentativa de migrar os dados, mas a ferramenta não suporta subcoleções.
Na documentação não há instruções de como habilitar o Google como provedor de autenticação:
|
Beta Was this translation helpful? Give feedback.
-
Sobre a hospedagem: conversei com o Fernando, porém não seria no cluster em si, mas sim um servidor menor para esse propósito. Ele disse que poderíamos conversar e que provavelmente é viável. |
Beta Was this translation helpful? Give feedback.
-
Facilita:
Coisas que seriam dificultadas caso fizéssemos da maneira tradicional. Então dockerizar é essencial, mesmo com um servidor dedicado. |
Beta Was this translation helpful? Give feedback.
-
A @karoldm ingressou no time. Como a Karol possui mais experiência com o React e com a EJComp, reacendemos as dicussões sobre a troca do framework do frontend. Pode ser que seja possível utilizar o domínio ejcomp.com.br para o (D)DNS. Um plano de trabalho está sendo elaborado neste projeto. |
Beta Was this translation helpful? Give feedback.
-
Conversei com o atual responsável da EJComp e ele não se opôs a usar o domínio ejcomp.com.br para o DNS. Sobre migrar o app para o Reactjs aqui estão meus pontos:
|
Beta Was this translation helpful? Give feedback.
-
Dei início a esquematização do banco de dados para adequá-lo ao Supabase. #183 |
Beta Was this translation helpful? Give feedback.
-
Especificações do servidor
Hardware
Essas specs são o dobro do necessário a partir de um cálculo que realizei. Dessa forma, o servidor fica future-proofed e compensa eventuais códigos ruins dos alunos e das dependências desatualizadas. Essa quantidade de armazenamento é necessária considerando que armazenamos os comprovantes. Deve-se considerar, também, que uma captura de tela pode possuir mais de 10 MB em celulares com telas de alta resolução. Sistema operacional
Apesar dos alunos estarem mais habituados com o Arch Linux ou Ubuntu, a filosofia e diretrizes do Debian estão mais alinhados com os propósitos do projeto de reescrita: O formato de Rolling Release adotado pelo Arch Linux pode ser problemático, pois não haverá alguém fazendo manutenções constantes. O Fedora tem um problema parecido. Diferente da Canonical (Ubuntu), os mantenedores do Debian são bem firmes com essas políticas e não sofrem pressão do mercado. Especificações extra
BackupKopia em um servidor do DMC. |
Beta Was this translation helpful? Give feedback.
-
Irei adicionar gradualmente especificações do FCT App atual na documentação |
Beta Was this translation helpful? Give feedback.
-
Reunião 1Em primeira reunião síncrona, realizada em 18/07:
Resultado do recrutamentoTotal de 6 inscrições, das quais 2 são inválidas:
Das 4 inscrições válidas, 3 foram selecionadas:
Foi optado por não adotar estratégias de recrutamento, pois prefere-se um time menor, que faça as coisas bem e cumpra prazos. A @cacic-fct/chapa-ada-lovelace ficará responsável por convocar os selecionados (relação disponível em ata) por e-mail:
Comparação com 2022Em 2024, foram 4 voluntários do núcleo + 5 inscrições. Em 2022, foram 8 inscrições:
Pessoas que se inscreveram para a homepage foram convencidas a trabalhar no FCT App. Dessa forma, percebe-se o baixo interesse do curso pela manutenção do sistema. Em 2023, o BCC da Unesp de Rio Claro teve 29 desenvolvedores para manutenção de um sistema que já estava pronto. No entanto, é mais comum a falta de desenvolvedores:
Pesquisa de tecnologiasResultados coletados entre 03/06/2024 e 18/07/2024, com um total de 22 respostas
|
Beta Was this translation helpful? Give feedback.
-
Pendências
Geral
Entender o uso e o gerenciamento do Docker no servidor do DMCUma máquina dedicada será usadaA DTI cedeu um servidorFrontend
Backend
Discussão
O @willshobwish levantou uma possível existência de problemas na sucessão do FCT App envolvendo o cadastro obrigatório de cartão de crédito.
Não é possível utilizar o plano Spark (gratuito) por conta das Cloud Functions.
Dessa forma, é necessário cadastrar um cartão de crédito para eventuais cobranças, que são altas e sem limite.
Ademais, caso o CACiC seja fechado, o FCT App fica sem sucessor para cadastrar o cartão.
Custos com o Firebase
Hosting
O FCT App pode gerar altos custos no Firebase Hosting, pois o tamanho do bundle é grande (3 MB) considerando o limite de gratuito de 360 MB/dia e o custo de
US$ 0,12/GB
excedente.Antes da redução do tamanho do bundle, que era de 8 MB, houve custos com o Hosting nas 2 SECOMPPs.
Também não há nada que impeça alguém de ficar recarregando a página com o cache desligado, o que gera custos altos.
Firestore
A cota gratuita é de 50 mil leituras/dia com custo de
US$ 0,045/100.000 docs
excedente.Em dias que só eu uso o FCT App, chega a bater 5 mil requests de leitura, o que indica que pode haver algum problema com o código.
Chegamos muito próximo de bater a cota gratuita durante a SECOMPP23.
É provável que a cota seja atingida na SECOMPP de 2024, pois o cache está desabilitado por conta da #172.
Storage
Para contornar custos com o Storage, comprimimos todos os comprovantes. Também movemos todos os comprovantes para o Google Drive do CACiC após o fim do evento.
Como a compressão é automática (sem interação do usuário), às vezes alguns comprovantes ficam próximos de serem ilegíveis.
Não chegamos próximo da cota.
Hospedagem
O @willshobwish disse que o FCT App pode ser hospedadono clusterem algum servidor do Departamento de Matemática e Computação, sendo o Fernando o responsável por ele.Também disse que uma vez o Prof. Almir sugeriu que o FCT App fosse hospedado no DMC.A DTI cedeu um servidor.
Frontend
Considerando os custos com o Hosting, o FCT App poderia ser hospedado no mesmo servidor que o backend.
No entanto, para que isso aconteça, o frontend precisa ser dockerizado.
Além disso, deve haver uma maneira de atualizar rapidamente a versão sendo distribuída pelo servidor da FCT.
O Watchtower faz isso.
Isso habilita Continuous Deployment.
Como a lógica do frontend precisará ser toda refeita, é possível discutir a migração do FCT App para outro framework.Angular mantidoBackend
Um backend self-hosted também habilita a existência de uma API para a alimentação automática dos dados da homepage da SECOMPP.
Deve-se dar preferência ao uso de Backend as a Service, pois elimina-se a necessidade de projetar e configurar API, BD, etc, além de diminuir a necessidade de manutenção.
Considerar o uso dos seguintes serviços:AppwriteNhostO Supabase foi escolhido por conter mais sponsors, stars e por adicionar poucas camadas em cima do Postgres.
Prós e contras
Firebase
Prós
Contras
Self-hosted
Prós
Contras
Decisões
Troca de framework
Em reunião com os integrantes do time de desenvolvimento, foi decidido a manutenção do Angular.
Back end
O Supabase será usado, em conjunto com o NestJS.
Closes issues
Caso a reescrita seja realizada, pode ser que as seguintes issues sejam solucionadas automaticamente:
E os seguintes TODOs tornariam-se desnecessários:
fct-app/src/app/development-tools/populate-database/populate-database.page.ts
Line 1 in 451e1d5
fct-app/src/app/restricted-area/manage-major-events/list-subscriptions/list-subscriptions.ts
Lines 203 to 209 in 451e1d5
fct-app/src/app/restricted-area/manage-major-events/validate-receipt/validate-receipt.page.ts
Lines 203 to 204 in 451e1d5
fct-app/src/app/restricted-area/manage-major-events/list-subscriptions/manage-subscription/manage-subscription.page.ts
Lines 125 to 126 in 451e1d5
fct-app/functions/src/utils/user/impersonate.ts
Line 1 in 451e1d5
fct-app/src/app/shared/services/major-event.service.ts
Line 7 in 451e1d5
fct-app/functions/src/unused/move-certificates.ts
Lines 180 to 181 in 451e1d5
Beta Was this translation helpful? Give feedback.
All reactions