새롭게 시작하는 학교생활에서 빼놓을 수 없는 즐거움, 바로 대학 축제입니다. 하지만 축제에 참여해 본 경험이 있다면, 연예인 축하 공연을 보기 위해 몇 시간씩 긴 줄을 서야 했던 기억이 있을 거예요. 다양한 행사들이 준비되어 있음에도, 긴 대기 시간 때문에 축제를 온전히 즐기지 못하는 점은 늘 아쉬움으로 남죠.
저희는 “대기 순번을 예약해서 웨이팅을 줄이면 어떨까?” 라는 생각에서 Uket 프로젝트를 시작했습니다.
물론, 이 서비스가 실제로 축제의 불편함을 해결할 수 있는지 검증이 필요했고, 대규모 축제 환경에서도 안정적으로 운영될 수 있는지도 보여줘야 했습니다. 이를 위해 작은 규모의 행사부터 시작해 서비스의 안정성과 가능성을 테스트하기로 했습니다.
Uket의 첫 출발은 건국대학교 밴드 동아리 '소리터' 와 함께했습니다. 1월 10일 예매를 시작해 1월 17일 공연까지 성공적으로 서비스를 운영했으며, 총 122명의 사용자가 서비스를 이용했고 이 중 약 67명이 실제 공연에 참석했습니다.
공연일 당시 공연 장소 | 공연 입장 #1 | 공연 입장 #2 | 공연 입장 #3 |
---|---|---|---|
2024.04 - Now
- 2025.01: 건국대학교 밴드 동아리 '소리터' 공연에서 첫 서비스 운영
- 2025.02 - Now: 새로운 기획자 합류로 Uket의 방향성 논의
- 서비스 안정성 검증
- 실 사용자 확보 및 피드백을 통한 선순환
- 근거 기반의 비판적인 기술 도입
- 단순한 호기심을 넘어, '왜'를 고민한다.
- 최대한 이 기술이 왜 필요하고 무엇을 해결하고자 하는지를 고민하여 도입하여, 오버엔지니어링을 줄인다.
- 유연하고 확장성이 좋은 코드
- 기능 구현에 그치지 않고, 설명 가능한 코드를 작성하며 컴포넌트의 책임을 명확히 분리한다.
- 변화에 유연하게 대처할 수 있도록 유지보수에 용이한 코드를 작성한다.
- 사용자 경험 개선
- 단순히 주어진 기획 요구사항을 구현하는 것을 넘어서, 서비스 방향성과 사용성에 대해 고민하여 의견을 적극 제시한다.
- 개발자 이전에 사용자 입장으로 항상 생각하여, 이미지 최적화 및 코드 분할 등을 통한 성능 최적화로 사용자 경험을 개선한다.
- UI의 적절한 배치, 스켈레톤 등 UI 관점에서도 고민하여 개선한다.
- API 관리 및 효율성 개선
- 캐싱을 적절히 활용하여, API 호출 비용을 최소화한다.
- 에러 옵션을 적극 활용하여, 다양한 API 호출에 대한 에러 처리와 예외 처리 로직을 구현한다. (확장성 및 유지보수성)
- ErrorBoundary 단에서 동적 쿼리 키에 의존하는 에러 초기화
- 문제를 단순하게 생각하고 해결하기, useNavigate의 state 옵션을 활용하여 중복 회원가입 방지
- 컴포넌트 책임 분리를 통한 유지보수성 향상 - 선언형 UI
- 개발환경에 따른 이미지 최적화 적용 및 외부 이미지 처리
- refetchOnMount에 속고 있었다. staleTime과 gcTime이 숨긴 비밀
- NextJS 이미지 최적화 비용 한계? sharp로 직접 구현
- 분산된 에러 처리 방식(ErrorBoundary 및 Toast UI), 중앙 집중화로 개선
위키에서 확인하실 수 있습니다.
도입 근거는 '위키'에서 확인하실 수 있습니다.
문휘식 | 손수빈 |
---|---|