프로젝트 소개
Wavelen은 개인 색상 팔레트를 저장하고 정리하기 위해 설계된 경량의 자체 호스팅 웹 애플리케이션입니다. 사용자는 16진수 색상 코드의 비공개 목록을 사용자 정의 가능한 컬렉션으로 구성하여 유지할 수 있습니다. 이 애플리케이션은 내장 웹 사용자 인터페이스와 프로그래밍 방식 상호작용을 위한 포괄적인 RESTful API를 모두 제공합니다.
주요 기능은 다음과 같습니다:
- **개인 색상 관리**: 사용자는 가입하고 로그인하여 자신의 색상 컬렉션을 관리할 수 있습니다. 각 계정은 기본 "Main" 컬렉션으로 시작하지만, 사용자는 추가로 이름이 지정된 컬렉션을 만들 수 있습니다.
- **색상 조화**: 공개 API는 주어진 헥스 코드에 대해 보색, 삼색, 램프와 같은 색상 조화를 계산하는 엔드포인트를 제공합니다.
- **공개 데이터 접근**: 사용자별 컬렉션은 비공개이지만, 시스템은 모든 색상의 공개 피드를 노출하여 헥스 값으로 정렬할 수 있습니다.
- **기술 스택**: Go(Go 1.27 대상), PostgreSQL, pgx v5를 사용하여 구축되었습니다. Docker Compose를 통한 로컬 개발을 지원하며 testcontainers를 사용한 통합 테스트를 포함합니다.
- **API 및 인증**: 비공개 리소스에 대한 보안 접근은 로그인을 통해 얻은 베어러 토큰이 필요합니다. 버전 정보 및 일반 색상 목록과 같은 공개 엔드포인트는 인증이 필요하지 않습니다.
이 프로젝트는 로컬 또는 Docker를 통해 쉽게 배포할 수 있도록 구성되어 있으며, 구성은 환경 변수를 통해 관리됩니다. 요청 추적을 위한 상관 ID 로깅을 포함하고 버전 관리 및 테스트를 위한 표준 CI/CD 관행을 따릅니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.