Skip to content

caiomarcatti12/nanogo

Repository files navigation

Nanogo: Framework de Desenvolvimento Golang

License Static Badge

Bem-vindo ao universo do Nanogo, o framework Golang concebido para simplificar e agilizar o ciclo de desenvolvimento do seu software sem sacrificar a robustez e a flexibilidade. Inspirado pelos princípios da Arquitetura Limpa (Clean Architecture) e Arquitetura Hexagonal, o Nanogo encapsula todas as funcionalidades essenciais de infraestrutura, permitindo aos desenvolvedores focar no que realmente importa: o domínio do software.

Características Principais

  1. Integração Simplificada com Sistemas Essenciais

    • Redis: Conexão facilitada com sistemas Redis, favorecendo um armazenamento de dados ágil e eficiente.
    • Mongo: Implemente bancos de dados MongoDB com facilidade, tirando proveito de uma das soluções de banco de dados NoSQL mais populares e eficazes disponíveis atualmente.
    • RabbitMQ: Integre-se com RabbitMQ para facilitar a comunicação entre diferentes serviços ou componentes do seu aplicativo.
  2. Gestão de Configurações Facilitada

    • Carregamento de Arquivos .env: Gerencie configurações e secretas com eficiência, carregando-as facilmente através de arquivos .env.
  3. API WebServer

    • Desenvolvimento Ágil de APIs: Acelere o desenvolvimento de APIs robustas e seguras com a API WebServer integrada do Nanogo.
  4. Compliance com Arquiteturas Modernas

    • Clean Architecture: O Nanogo segue o princípio da Clean Architecture, promovendo a separação de preocupações e facilitando a manutenção do código.
    • Arquitetura Hexagonal: Adote uma arquitetura hexagonal para garantir a flexibilidade e a intercambialidade dos componentes do seu software, facilitando testes e integrações.

Benefícios

  • Redução Significativa de Código: O Nanogo foi projetado para minimizar a quantidade de código necessária para configurar e manter sua aplicação, tornando o processo de desenvolvimento mais rápido e menos propenso a erros.
  • Implementação Simplificada: Com foco na simplicidade e na eficiência, o Nanogo facilita a configuração e a implementação de sistemas complexos, permitindo que os desenvolvedores criem soluções robustas sem o aborrecimento associado à gestão de infraestruturas intricadas.
  • Adaptação Rápida: Graças à sua estrutura intuitiva e bem organizada, os desenvolvedores podem aprender e começar a usar o Nanogo em pouco tempo, sem uma curva de aprendizado íngreme.

Nanogo surge como uma ferramenta indispensável para desenvolvedores Golang modernos, promovendo uma experiência de desenvolvimento mais fluida, rápida e menos complexa, sem comprometer a qualidade e a funcionalidade final do software.

Dependências Externas 🛠

O Nanogo é potencializado por várias bibliotecas e ferramentas robustas da comunidade Golang. Para garantir um desenvolvimento fluido e funcionalidades avançadas, incorporamos uma série de dependências externas no projeto.

Para uma descrição detalhada de cada dependência e como elas são usadas no framework Nanogo, consulte o nosso guia detalhado de dependências:

📄 Consulte o Guia de Dependências

Arquitetura 🔥

  • Arquitetura Limpa (Clean Architecture)

    • Mantenha seu código organizado e fácil de manter aderindo aos princípios da Arquitetura Limpa.
  • Arquitetura Hexagonal

    • Facilite a manutenção e o teste de seus aplicativos através da implementação da Arquitetura Hexagonal. Claro, podemos adicionar um novo tópico à sua documentação README.md principal que destaca a "Arquitetura de Repository". Aqui está uma sugestão:
  • Arquitetura de Repository

    • Descubra como a estrutura de repository no nanogo facilita a abstração do acesso ao banco de dados, promovendo um código mais limpo, flexível e testável. Explore como o princípio SOLID de inversão de dependência é central para esta arquitetura, permitindo um design de software robusto e de fácil manutenção.

Instalando a Biblioteca Nanogo

Adicione a Biblioteca como Dependência: Abra o terminal no diretório do seu projeto e execute o comando a seguir para adicionar a biblioteca Nanogo como uma dependência:

go get github.com/caiomarcatti12/nanogo/v2

Funcionalidades 🔥

O framework Nanogo oferece um conjunto robusto de funcionalidades projetadas para facilitar e acelerar o desenvolvimento de software. Abaixo, você encontrará uma lista de funcionalidades-chave juntamente com links para suas respectivas documentações:

  • API Webserver

    • Construa APIs poderosas e escaláveis com nossa funcionalidade de servidor web integrado.
  • Conexão com Redis

    • Facilite a integração e a manipulação de bancos de dados Redis em seus projetos.
  • Integração com MongoDB

    • Implemente soluções de banco de dados NoSQL rapidamente com nossa integração nativa com MongoDB.
  • Suporte para RabbitMQ

    • Orquestre microserviços eficientemente com nosso suporte integrado para RabbitMQ.
  • Carregamento de Arquivos .env

    • Gerencie configurações de aplicativos com facilidade através do suporte para carregamento de arquivos .env.
  • Carregamento dinamico de Arquivos .env

    • Gerencie configurações de aplicativos dinamicamente através do suporte para carregamento por api
  • JWT Manager

    • Crie e valide tokens JWT de maneira fácil e segura com o nosso JWT Manager.
  • Logger Integrado

    • Monitore e rastreie as operações e eventos de seu aplicativo com eficiência e precisão usando nosso logger integrado. Com suporte a múltiplos níveis de log e Correlation ID.
  • Metric Manager

    • Capture e monitore métricas de desempenho de aplicativos em tempo real com nosso Metric Manager. Integra-se perfeitamente com o Prometheus para visualização e alertas.

Cada funcionalidade foi meticulosamente desenvolvida para fornecer a melhor experiência possível aos desenvolvedores, poupando tempo e esforço ao criar softwares incríveis com Nanogo.

Como Contribuir

Estamos sempre de portas abertas para novas contribuições! Se você deseja auxiliar no crescimento e aprimoramento do projeto — seja através da correção de bugs, propostas de melhorias ou incorporação de novas funcionalidades — sua ajuda será sempre bem-vinda.

Acesse nosso Guia de Contribuição para entender melhor como você pode fazer parte desse processo e garantir que sua contribuição seja integrada da maneira mais eficaz possível.

Código de Conduta

Estamos profundamente comprometidos em construir e manter uma comunidade inclusiva e acolhedora. Para isso, esperamos que todos os colaboradores sigam nosso Código de Conduta, que estabelece diretrizes claras para garantir um ambiente respeitoso e produtivo para todos.

Faça um favor a si e à comunidade: dedique um momento para ler e internalizar o código de conduta.

Licença

O projeto Nanogo está disponível sob a licença Apache 2.0, uma licença permissiva e de código aberto que permite a liberdade de usar o software para qualquer finalidade, respeitando as limitações estabelecidas na LICENÇA.

Dessa forma, você pode contribuir, modificar e distribuir o projeto, estando protegido juridicamente e respeitando os direitos e esforços dos outros contribuintes.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages