Sobre o projeto
Wavelen é uma aplicação web leve e auto-hospedada projetada para salvar e organizar paletas de cores pessoais. Ela permite que os usuários mantenham listas privadas de códigos de cores hexadecimais, organizadas em coleções personalizáveis. A aplicação fornece tanto uma interface web integrada quanto uma API RESTful abrangente para interação programática.
Os principais recursos incluem:
- **Gerenciamento Pessoal de Cores**: Os usuários podem se cadastrar, fazer login e gerenciar suas próprias coleções de cores. Cada conta começa com uma coleção padrão "Main", mas os usuários podem criar coleções adicionais nomeadas.
- **Harmonias de Cores**: A API pública oferece endpoints para calcular harmonias de cores, como complementares, tríades e rampas, para qualquer código hexadecimal fornecido.
- **Acesso a Dados Públicos**: Embora as coleções específicas de cada usuário sejam privadas, o sistema expõe um feed público de todas as cores, permitindo a ordenação por valor hexadecimal.
- **Stack Tecnológica**: Construída usando Go (com foco no Go 1.27), PostgreSQL e pgx v5. Suporta desenvolvimento local via Docker Compose e inclui testes de integração usando testcontainers.
- **API e Autenticação**: O acesso seguro a recursos privados requer um token bearer obtido via login. Endpoints públicos, como informações de versão e listagens gerais de cores, não exigem autenticação.
O projeto é estruturado para ser facilmente implantável localmente ou via Docker, com configuração gerenciada por variáveis de ambiente. Inclui logging com IDs de correlação para rastreamento de requisições e segue práticas padrão de CI/CD para versionamento e testes.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.