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.