À propos du projet

Wavelen est une application web légère et auto-hébergée conçue pour enregistrer et organiser des palettes de couleurs personnelles. Elle permet aux utilisateurs de conserver des listes privées de codes de couleurs hexadécimaux, organisées en collections personnalisables. L'application fournit à la fois une interface utilisateur web intégrée et une API RESTful complète pour une interaction programmatique. Les fonctionnalités principales incluent : - **Gestion personnelle des couleurs** : les utilisateurs peuvent s'inscrire, se connecter et gérer leurs propres collections de couleurs. Chaque compte démarre avec une collection « Main » par défaut, mais les utilisateurs peuvent créer des collections nommées supplémentaires. - **Harmonies de couleurs** : l'API publique propose des points de terminaison pour calculer des harmonies de couleurs telles que les complémentaires, les triades et les dégradés pour tout code hexadécimal donné. - **Accès aux données publiques** : bien que les collections propres à chaque utilisateur soient privées, le système expose un flux public de toutes les couleurs, permettant un tri par valeur hexadécimale. - **Pile technique** : développée avec Go (ciblant Go 1.27), PostgreSQL et pgx v5. Elle prend en charge le développement local via Docker Compose et inclut des tests d'intégration utilisant testcontainers. - **API et authentification** : l'accès sécurisé aux ressources privées nécessite un jeton bearer obtenu lors de la connexion. Les points de terminaison publics comme les informations de version et les listes générales de couleurs ne nécessitent pas d'authentification. Le projet est structuré pour être facilement déployable localement ou via Docker, avec une configuration gérée par des variables d'environnement. Il inclut la journalisation avec des identifiants de corrélation pour le traçage des requêtes et suit les pratiques standard CI/CD pour le versionnage et les tests.