Skip to content

Roadmap - Preparação para a v3 #510

@PauloGoncalvesBH

Description

@PauloGoncalvesBH

Roadmap do Projeto ServeRest

Este roadmap detalha os passos para evoluir o projeto ServeRest nas próximas semanas. Ele é flexível e pode ser ajustado conforme necessário.

Etapas

  1. Dockerização do Frontend (Issue Disponibilizar o Front-End no container Docker #511):

    • Criar um Dockerfile otimizado para a imagem do frontend.
    • Usar um Makefile para automatizar tarefas comuns como build e teste da imagem.
    • Construir e testar a imagem Docker localmente para garantir o funcionamento correto.
    • Configurar uma pipeline no GitHub Actions com trigger manual para publicar a imagem no Docker Hub (serverest/front).
    • Documentar o processo de dockerização para facilitar a manutenção e colaboração.
  2. Migração do Frontend para Next.js:

    • Definir a estrutura do projeto Next.js, organizando pastas e arquivos de acordo com as convenções do framework.
    • Migrar as rotas e páginas do React para o Next.js, utilizando o roteamento dinâmico do Next.js.
    • Adaptar os componentes do React para o Next.js, considerando a renderização do lado do servidor (SSR) ou geração de páginas estáticas (SSG).
    • Implementar o PWA (Progressive Web App) utilizando o plugin next-pwa.
    • Corrigir os bugs existentes no frontend durante a migração.
    • Otimizar a performance do frontend utilizando os recursos do Next.js, como otimização de imagens e code splitting.
    • Testar e validar o novo frontend em diferentes navegadores e dispositivos.
  3. Infraestrutura com Terraform:

    • Configurar o Terraform e o provedor Google Cloud.
    • Criar recursos do Google Cloud Run para os ambientes de staging, production e Compass Uol utilizando o Terraform.
    • Configurar os mapeamentos de domínio para os respectivos ambientes.
    • Integrar o Terraform com o GitHub Actions, substituindo as etapas de deploy por comandos Terraform.
  4. Notificações de Release no Swagger e Imagens Docker:

    • Adicionar uma seção "Release Notes" no Swagger para exibir as notas de release de cada versão da API.
    • Utilizar labels nas imagens Docker para armazenar informações sobre a versão da API e notas de release.
    • Adicionar mensagem de que nova release foi liberada no topo da página do Swagger executado via NPM e Docker.
  5. Internacionalização da API e Frontend:

    • Identificar os textos a serem traduzidos na API e no frontend.
    • Criar arquivos de tradução para português brasileiro e inglês.
    • Implementar a lógica de tradução na API e no frontend, identificando o idioma da solicitação através do header Accept-Language.
    • Adicionar um seletor de idioma no frontend para permitir que os usuários escolham o idioma desejado.
    • Testar a internacionalização para garantir que todos os textos sejam exibidos corretamente em ambos os idiomas.

Considerações

  • Este roadmap está sujeito a alterações com base no progresso e nas necessidades do projeto.
  • A colaboração e o feedback da comunidade são bem-vindos.
  • Acompanhe as atualizações e contribua para o desenvolvimento do ServeRest!

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions