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.
-
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.
-
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
.
- Carregamento de Arquivos
-
API WebServer
- Desenvolvimento Ágil de APIs: Acelere o desenvolvimento de APIs robustas e seguras com a API WebServer integrada do Nanogo.
-
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.
- 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.
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 Limpa (Clean Architecture)
- Mantenha seu código organizado e fácil de manter aderindo aos princípios da Arquitetura Limpa.
-
- 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:
-
- 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.
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
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:
-
- Construa APIs poderosas e escaláveis com nossa funcionalidade de servidor web integrado.
-
- Facilite a integração e a manipulação de bancos de dados Redis em seus projetos.
-
- Implemente soluções de banco de dados NoSQL rapidamente com nossa integração nativa com MongoDB.
-
- Orquestre microserviços eficientemente com nosso suporte integrado para RabbitMQ.
-
- 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
-
- Crie e valide tokens JWT de maneira fácil e segura com o nosso JWT Manager.
-
- 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.
-
- 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.
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.
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.
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.