가지각색

생성일
Jan 17, 2022
태그
팀프로젝트
JAVA
Back-end
기간
2021.07 ~ 2021.11
notion image
가 까운 지 역 사람들과 각 종 색 다른 취미 클래스 즐기기
📁 개요
취미 생활 및 자기계발 활동에 금전적으로 투자하는 사람들이 지속적으로 증가하고 있으며, 20 ~ 30대 대상 685명 설문조사 결과 사람들은 취미를 혼자보다 함께 즐기고 싶어할뿐만 아니라 전체의 75% 이상이 처음만나는 사람과도 함께 취미를 즐기고 싶다고 답변했습니다.
또한, 유료로 취미생활 및 자기계발 분야 참여시 전체의 63%가 오프라인 방식을 선호하였습니다. 저희는 취미 관련 오프라인 유료 클래스의 수요가 충분하다는 것을 파악하였고, 기존 업체들의 문제점들을 보완하여 오프라인 클래스 중개 플랫폼을 서비스하고자 합니다.
☹️ 우리가 생각한 취미 클래스 서비스에 대한 문제점
  • 취미를 함께 즐기고 싶어하는 것을 선호하지만, 정작 현재 클래스 중개 서비스는 개인 신청으로 진행
    • 이로 인해 취미 클래스 신청자가 모집 인원이 아무도 없을 경우 신청을 꺼려하게 됨
    • 최악의 경우는 클래스 개설 자체가 되지 않을 수 있음
  • 취미가 비슷한 사람들을 모아주고, 모인 사용자들 간의 소통이 어려움
💡해결책
  • 클래스 수강을 신청하기 전에 취미가 비슷한 사람들을 모을 수 있는 기능을 제공
    • 이를 ‘그룹’이라고 칭함
  • 클래스를 수강하기 전에 채팅을 통해 그룹원들 간의 소통 가능
💁 상세 정보들
💥 가지각색 주요 기능
  • 사용자들이 취미를 함께 즐기도록 도와주는 그룹 기능
  • 클래스 정보 안에서의 각종 커뮤니티 시스템(후기, Q&A)
  • 클래스 개설자들을 위한 전반적인 클래스 개설과 진행할 일정 관리
🙋‍♂️ 역할
  • 기능 구현 (도메인)
    • 그룹 기능
    • 클래스 개설자들을 위한 클래스 생성과 일정 관리
    • 사용자들을 위한 클래스 검색
    • 결제
  • REST API 설계
  • 데이터베이스 설계
🔧 사용 기술
왜 Spring Boot & JPA?
🏗️ 아키텍처
notion image
📚 내가 프로젝트에 기여한 것들
💬
나열한 각 항목들 중 링크가 있는 항목은 제 개인 블로그 및 깃허브에 따로 정리한 지식입니다.
단위 테스트 중심의 TDD 실천
검색 성능 향상을 위해 클래스 검색은 MySQL에서 Elasticsearch로 변경 및 클러스터 구축
Spring Batch를 이용해 주기적으로 Elasticsearch에 수정되거나 새로 생성된 정보들 인덱싱
API 명세를 한눈에 보기 위해 Swagger에서 Rest Docs로 이전
DB Replica & Flyway
👀 팀원이 구현한 기능들을 내가 직접 구현해보기
💬
저희 팀 구성은 저를 포함한 백엔드 2명, 앱/웹 프론트엔드 1명입니다. 저와 함께 했던 백엔드 팀원이 구현했던 기능들을 살펴보면서 알게된 지식들을 정리해보았습니다.
JWT + Redis로 로그인
CI / CD 환경 구축하기
🤔 아쉬운 점
  • 서비스 진행
    • 비록 배포 자체는 거의 진행이 완료되었지만, 실제 클래스 개설자들과 유저들을 한정된 기간에 마케팅하기에 쉽지 않은 주제였습니다. 하지만 저희 서비스의 특색에 맞는 기술적인 도전들을 많이 시도했습니다.
  • 성능/통합 테스트
    • nGrinder를 통해 프로젝트 마지막 기간에 자주 쓰일법한 API를 위주로 성능 테스트를 진행했습니다. 비록 성능 테스트의 본질인 서버 자원을 모니터링하며 병목 지점을 찾은 후 개선하는 작업을 하지 못했지만 성능 테스트를 어떻게 진행하는지에 대해 알 수 있게 되었습니다. 개인적으로 PinPoint를 통해 모니터링 후 스케일 아웃 혹은 스케일 업 과정을 통해 성능이 향상되는 작업을 진행해 볼 예정입니다.
    • 또한, 시간 내에 주어진 기능들을 완성함에 있어서 통합 테스트까지 시도하기엔 시간이 부족했습니다. 그 대신 단위 테스트를 보다 꼼꼼하게(특히 도메인) 작성하고, 개발하고자 하는 기능이 올바르게 동작하는지 작성된 테스트 코드를 실행하여 빠르게 확인하는 전략으로 설정했습니다.
 
notion image
해당 프로젝트는 2021년도 과학기술정보통신부의 재원으로 정보통신기획평가원의 지원을 받아 수행된 프로젝트입니다.(IITP-2021-SW마에스트로과정)
Copyright © 2021. (Team. 가지각색) All rights reserved.

가지각색

생성일
Jan 17, 2022
태그
팀프로젝트
JAVA
Back-end
기간
2021.07 ~ 2021.11
notion image
가 까운 지 역 사람들과 각 종 색 다른 취미 클래스 즐기기
📁 개요
취미 생활 및 자기계발 활동에 금전적으로 투자하는 사람들이 지속적으로 증가하고 있으며, 20 ~ 30대 대상 685명 설문조사 결과 사람들은 취미를 혼자보다 함께 즐기고 싶어할뿐만 아니라 전체의 75% 이상이 처음만나는 사람과도 함께 취미를 즐기고 싶다고 답변했습니다.
또한, 유료로 취미생활 및 자기계발 분야 참여시 전체의 63%가 오프라인 방식을 선호하였습니다. 저희는 취미 관련 오프라인 유료 클래스의 수요가 충분하다는 것을 파악하였고, 기존 업체들의 문제점들을 보완하여 오프라인 클래스 중개 플랫폼을 서비스하고자 합니다.
☹️ 우리가 생각한 취미 클래스 서비스에 대한 문제점
  • 취미를 함께 즐기고 싶어하는 것을 선호하지만, 정작 현재 클래스 중개 서비스는 개인 신청으로 진행
    • 이로 인해 취미 클래스 신청자가 모집 인원이 아무도 없을 경우 신청을 꺼려하게 됨
    • 최악의 경우는 클래스 개설 자체가 되지 않을 수 있음
  • 취미가 비슷한 사람들을 모아주고, 모인 사용자들 간의 소통이 어려움
💡해결책
  • 클래스 수강을 신청하기 전에 취미가 비슷한 사람들을 모을 수 있는 기능을 제공
    • 이를 ‘그룹’이라고 칭함
  • 클래스를 수강하기 전에 채팅을 통해 그룹원들 간의 소통 가능
💁 상세 정보들
💥 가지각색 주요 기능
  • 사용자들이 취미를 함께 즐기도록 도와주는 그룹 기능
  • 클래스 정보 안에서의 각종 커뮤니티 시스템(후기, Q&A)
  • 클래스 개설자들을 위한 전반적인 클래스 개설과 진행할 일정 관리
🙋‍♂️ 역할
  • 기능 구현 (도메인)
    • 그룹 기능
    • 클래스 개설자들을 위한 클래스 생성과 일정 관리
    • 사용자들을 위한 클래스 검색
    • 결제
  • REST API 설계
  • 데이터베이스 설계
🔧 사용 기술
왜 Spring Boot & JPA?
🏗️ 아키텍처
notion image
📚 내가 프로젝트에 기여한 것들
💬
나열한 각 항목들 중 링크가 있는 항목은 제 개인 블로그 및 깃허브에 따로 정리한 지식입니다.
단위 테스트 중심의 TDD 실천
검색 성능 향상을 위해 클래스 검색은 MySQL에서 Elasticsearch로 변경 및 클러스터 구축
Spring Batch를 이용해 주기적으로 Elasticsearch에 수정되거나 새로 생성된 정보들 인덱싱
API 명세를 한눈에 보기 위해 Swagger에서 Rest Docs로 이전
DB Replica & Flyway
👀 팀원이 구현한 기능들을 내가 직접 구현해보기
💬
저희 팀 구성은 저를 포함한 백엔드 2명, 앱/웹 프론트엔드 1명입니다. 저와 함께 했던 백엔드 팀원이 구현했던 기능들을 살펴보면서 알게된 지식들을 정리해보았습니다.
JWT + Redis로 로그인
CI / CD 환경 구축하기
🤔 아쉬운 점
  • 서비스 진행
    • 비록 배포 자체는 거의 진행이 완료되었지만, 실제 클래스 개설자들과 유저들을 한정된 기간에 마케팅하기에 쉽지 않은 주제였습니다. 하지만 저희 서비스의 특색에 맞는 기술적인 도전들을 많이 시도했습니다.
  • 성능/통합 테스트
    • nGrinder를 통해 프로젝트 마지막 기간에 자주 쓰일법한 API를 위주로 성능 테스트를 진행했습니다. 비록 성능 테스트의 본질인 서버 자원을 모니터링하며 병목 지점을 찾은 후 개선하는 작업을 하지 못했지만 성능 테스트를 어떻게 진행하는지에 대해 알 수 있게 되었습니다. 개인적으로 PinPoint를 통해 모니터링 후 스케일 아웃 혹은 스케일 업 과정을 통해 성능이 향상되는 작업을 진행해 볼 예정입니다.
    • 또한, 시간 내에 주어진 기능들을 완성함에 있어서 통합 테스트까지 시도하기엔 시간이 부족했습니다. 그 대신 단위 테스트를 보다 꼼꼼하게(특히 도메인) 작성하고, 개발하고자 하는 기능이 올바르게 동작하는지 작성된 테스트 코드를 실행하여 빠르게 확인하는 전략으로 설정했습니다.
 
notion image
해당 프로젝트는 2021년도 과학기술정보통신부의 재원으로 정보통신기획평가원의 지원을 받아 수행된 프로젝트입니다.(IITP-2021-SW마에스트로과정)
Copyright © 2021. (Team. 가지각색) All rights reserved.