1Mão é uma plataforma robusta e escalável desenvolvida em Go, destinada à orquestração de microsserviços com foco em desempenho, modularidade e comunicação em tempo real.
A estrutura modular do projeto segue o padrão de separação de responsabilidades por domínio:
cmd/: ponto de entrada da aplicação.config/: configurações de banco de dados e cache.delivery/rest/: handlers e rotas REST.internal/: lógica de domínio, serviços, repositórios e middleware organizados por contexto (ex:booking,client,payment).pkg/: bibliotecas reutilizáveis, como autenticação e cache.
A autenticação é feita com tokens JWT, com suporte a middlewares para controle de acesso e segurança.
Utilizamos WebSockets no módulo de notificações para garantir uma comunicação bidirecional entre clientes e profissionais em tempo real.
- Stripe: Processamento de pagamentos.
- Redis: Cache e controle de sessão.
- Swagger: Documentação interativa da API.
- Docker & Docker Compose
- Go 1.21+
docker-compose up --buildhttp://localhost:8080/api- Swagger:
http://localhost:8080/swagger/index.html
go test ./...Utilize um utilitário para conexões websocket, como o wscat
wscat -c ws://localhost/ws/chat/<tipo de remetente>/<id do remetente>Ao entrar na interface do wscat, utilize
{"receiver_id":<id do destinatario>,"receiver_type":"<tipo do destinatário>","content":"mensagem a ser enviada"}A documentação OpenAPI/Swagger pode ser encontrada em:
docs/swagger.yamldocs/swagger.json
CI configurado com GitHub Actions: .github/workflows/go.yml
- Fork o repositório
- Crie sua branch (
git checkout -b feature/nome-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para o branch (
git push origin feature/nome-feature) - Abra um Pull Request
1Mão © 2025 - Plataforma de Orquestração com Go 🚀