Skip to content

likelion-onetool/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏗️ 나만의 건축사수, 3D 모델 플랫폼 원툴

image

📌 소개

저희 팀 원툴은 3D 도면 모델을 주로 사용하는 건축업계 종사자들을 위한 도면 서비스를 제공합니다.

  1. 필요한 도면만 빠르게
  2. 도면 구매를 보다 간편하게
  3. 내가 만든 도면 판매를 안전하게

현재 건축 업계에선 아래와 같은 문제점이 있어요.

  • 건축 업계에서의 도면 유통 한계
  • 교육용 도면 배포 환경 구축

팀 원툴은 건축 업계의 도면 사용을 활성화하기 위해 노력하고 있습니다.


🔖 개요

  • 프로젝트 이름: 원툴 Onetool
  • 개발 기간: 2024.03 ~ 2024.12
  • 성과
이름 성과 일시
세종대캠퍼스타운 창업아이디아톤 대상 2024.07.31
세종대학교 IT컨퍼런스 우수상 (5/15팀) 2024.09.26
세종대 캠퍼스타운 창업세미나 모의 IR 우수상 (2등/50팀) 2024.09.11
세종대 피칭&멘토링대회 우수상 (3등/6명) 2024.09.11
세종대 창업 컨설팅 수료 2024.08.14

🛠️ 기술

사용된 기술

기술적 의사 결정

요구 사항 선택지 기술 선택 이유
💽데이터베이스 1. MySQL
2. PostgreSQL
3. MariaDB
4. MongoDB
5. Redis
- 도면 목록 및 검색 최적화를 위해 인덱스, 캐시, 버퍼 풀 등의 성능 최적화 기능을 제공하는 MySQL 사용
- 결제 및 구매 내역와 같은 중요한 데이터를 위한 InnoDB의 ACID 트랜잭션 사용
- Redis의 인메모리 데이터 저장 방식으로 토큰 조회 및 삽입 성능 개선
- 인증 코드의 자동 삭제를 위한 Redis의 TTL 기능 사용
🖥️모니터링 1. Jmeter
2. Prometheus
3. AWS CloudWatch
- 설치 용이성과 비용적 장점을 가진 Prometheus 사용
- Expert 설치를 통한 풀링 방식으로 메트릭 수집이 용이
🛠️CI/CD 1. Github Actions
2. Jenkins
- 별도의 서버 구축이 필요없는 Github Actions 사용
- YAML 기반 간편하고 쉬운 스크립트 작성

🛠️ 기술적 의사 결정 문서


🖼️ 아키텍처

인프라 아키텍처

다이어그램-01 - redis drawio

레이어드 아키텍처

image


🗂️ ERD, 유저 시나리오

ERD

OneTool

유저 시나리오

🔗Notion: 유저 시나리오


☑️ 트러블 슈팅 및 개발 기록

🛠️ 트러블 슈팅 목록


🔥 성능 개선

  1. Fake 기법을 통해 테스트 속도 개선 (🔗PR#209)
    • 빈 컨텍스트 사용 대신 Fake를 이용하여 컨텍스트 멤버 생성 기능의 테스트 속도를 990ms에서 460ms로 46% 향상
    • 테스트의 대부분을 차지하는 단위 테스트의 수행 속도를 평균 36% 개선
  2. 커버링 인덱스로 검색 쿼리 속도 향상(🔗PR#182)
    • 커버링 인덱스를 이용해 검색 기능의 수행 시간이 637ms에서 473ms로 약 34% 향상
    • Count 쿼리의 인덱스 사용 시, 미비한 차이로 인한 불필요한 인덱스 사용 방지
  3. N+1 문제 해결로 실행 쿼리 감소 (🔗PR#115)
    • 다대일 관계의 적은 중복 문제 해결을 위해 inner join을 사용하여 키워드 검색 쿼리를 6개 → 4개 감소

👥 컨트리뷰터

역할 github 이름
Front 강인권
Back 이동훈
Back 윤성원
Back 정다영
Back 이동호

About

✅ 나만의 건축사수, 3D 모델 플랫폼 원툴

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •