这个项目能做什么
Wavelen 是一个轻量级、自托管的 Web 应用,用于保存和整理个人调色板。它让用户能够维护私有的十六进制颜色代码列表,并将其组织到可自定义的集合中。该应用同时提供内嵌的 Web 用户界面和一套完整的 RESTful API,便于以编程方式交互。
主要功能包括:
- **个人颜色管理**:用户可以注册、登录并管理自己的颜色集合。每个账户初始都有一个默认的“Main”集合,但用户可以创建更多具名集合。
- **色彩和谐**:公共 API 提供端点,可为任意给定十六进制代码计算互补色、三色组和渐变等色彩和谐方案。
- **公共数据访问**:虽然用户专属集合是私有的,但系统会公开所有颜色的公共信息流,并支持按十六进制值排序。
- **技术栈**:使用 Go(目标为 Go 1.27)、PostgreSQL 和 pgx v5 构建。它支持通过 Docker Compose 进行本地开发,并包含使用 testcontainers 的集成测试。
- **API 与认证**:访问私有资源需要先登录获取 bearer token。版本信息和通用颜色列表等公共端点不需要认证。
该项目在结构上便于本地部署或通过 Docker 部署,配置通过环境变量管理。它包含带关联 ID 的日志记录,用于请求追踪,并遵循标准的 CI/CD 实践进行版本管理和测试。
评论
0 评分人数达到10人后显示
登录后参与讨论。