Flag SecOps Hub é um projeto para gestão de Feature Flags, com foco em segurança, performance e escalabilidade. Desenvolvido com práticas modernas e tecnologias de ponta, o projeto visa fornecer uma solução eficiente e confiável para o gerenciamento dinâmico de recursos em aplicações.
- Objetivo: Simplificar a gestão de Feature Flags.
- Usuários-alvo: Desenvolvedores, gerentes de projeto e equipes de QA em busca de uma gestão eficiente e segura.
- Estrutura: Composto por Backend e Frontend, integrando-se para fornecer uma solução completa.
- Arquitetura: Clean Architecture e DDD para modularidade e manutenção eficiente.
- Tecnologias: Node.js, TypeScript, Fastify, MongoDB, Jest, Docker, Swagger, Winston, entre outros.
- Segurança: Implementações específicas para garantir a proteção dos dados e das operações.
- Arquitetura: Design Atômico para organização eficiente e manutenível dos componentes.
- Tecnologias: React, Vite, Redux, Formik, Styled Components, i18next, React Testing Library, Cypress, Storybook, entre outros.
- Usabilidade e Acessibilidade: Foco em uma interface amigável e acessível para todos os usuários.
- Design Figma: Visualize o design no Figma.
- Certifique-se de ter Docker e Docker Compose.
- Execute
docker-compose up
na raiz do projeto. - O frontend vai estar disponivel em
http://localhost:3000
e o backend emhttp://localhost:5000
. Isso vai subir tanto o backend quanto o frontend em containers Docker.
Para facilitar a execução de comandos, utilize o arquivo Makefile disponível na raiz do projeto:
- Para construir as imagens Docker::
make build
- Para executar o projetoo:
make up
- Para parar os serviços:
make down
Cada parte do projeto (Backend e Frontend) possui documentação específica detalhando sua configuração, uso e características.
- Documentação Interativa Swagger: Acesse em
http://localhost:5000/documentation
após iniciar o projeto. - Docsify: Para uma visão mais detalhada, a documentação completa está disponível em Docsify backend. Execute
npm run docs:serve
na raiz do backend para iniciar o servidor de documentação Docsify.
- Storybook: Explore componentes e guias no Storybook acessando
http://localhost:6006
após executar o comandonpm run storybook
. - Docsify: Para uma visão mais detalhada, a documentação completa está disponível em Docsify frontend. Execute
npm run docs:serve
na raiz do frontend para iniciar o servidor de documentação Docsify.
npm install
: Instala as dependências do projeto.npm run dev
: Inicializa o projeto em modo de desenvolvimento.npm run test
: Executa todos os testes do projeto.npm run lint
: Aplica linting em todo o projeto.
Para executar os testes end-to-end com Cypress, Use npm run test:cypress:open
para interface interativa ou npm run test:cypress:run
para execução headless.
O projeto possui integração contínua e entrega contínua (CI/CD) com o GitHub Actions. Os resultados de qualidade de código são analisados pelo SonarCloud, incluindo métricas de bugs, code smells, cobertura de código e muito mais. O CD é realizado na Vercel.
Contribuições são bem-vindas para melhorar a documentação, adicionar funcionalidades ou corrigir bugs. Crie um pull request ou abra uma issue para colaborar.
Para uma lista detalhada das melhorias futuras planejadas para o projeto, incluindo atualizações técnicas e otimizações, por favor visite o seguinte link: Melhorias Futuras
O projeto é distribuído sob a Licença MIT. Veja LICENSE
para mais informações.