Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.
/ cafe-guide-book Public archive

[라포랩스 이직] 카페 테이크아웃 주문 서비스

Notifications You must be signed in to change notification settings

f-lab-edu/cafe-guide-book

Repository files navigation

☕ Takeout Coffee Ordering Service

☕ 서버 구조도

☕ 프로젝트 주요 관심사 (진행중)

1. 단순 기능 구현에만 집중하지 않기

  • 단순히 기능을 빠르게 구현하는것보다 중요한 것은 사용 기술을 정확하게 이해하고 사용하는 것이라고 생각합니다.
  • 새로운 기술을 적용할 때 기술서적과 공식문서를 통해 해당 기술에 대한 깊이 있는 학습을 진행하여 이를 최대한 코드에 녹이기 위해 노력했습니다.

2. 테스트 코드 작성에 충실하기

  • 올바른 기능 구현과 예상한대로 코드가 동작하는지 검증하기 위해 새로운 기능을 구현할 때 마다 통합테스트 및 단위테스트를 구현하도록 하였습니다.
  • 새로운 개발자가 합류했을 경우 기능을 추가하거나 수정할 때 테스트 코드를 통해 문제가 없음을 보장하고 자신감을 줌으로써 빠르게 프로젝트에 적응할 수 있습니다.
  • 또한 테스트 코드는 작성된 코드에 대한 문서 자체의 역할을 하기도 합니다.

3. 문서화

  • 새로운 개발자가 중간에 프로젝트에 참여하더라도 Wiki와 같은 문서를 통해 프로젝트에 대해 쉽게 이해하고 적응할 수 있도록 하였습니다.
  • PR, Issues, Commit Template을 통해 협업하는 개발자간의 커뮤니케이션 미스에 대한 비용을 최소화 하기 위해 노력하였습니다.

4. 사소한 이슈라도 끝까지 파헤쳐서 원인 파악하기

  • 발생한 이슈가 사소한것일지라도 추후에 다시 문제가 생기지 않도록 예방해야 합니다.
  • 문제의 원인을 파악하기 위한 학습을 진행하였고 이를 기술블로그에 정리하였습니다.

5. 대용량 트래픽 환경에서도 안정적인 서비스 구현하기(진행중)

  • 프로젝트를 시작하게된 동기와 최종목표는 대용량 트래픽에도 견고하고 안정적인 서비스를 개발하는 것입니다.
  • nGrinder를 통한 부하테스트를 진행하면서 이를 지키기 위해 노력했습니다.

기술블로그

☕ Entity Relation Diagram

☕ 사용기술

  • Java 11
  • Spring Boot
  • JUnit5
  • Mockito
  • MySQL
  • MyBatis
  • Jenkins
  • nGrinder
  • Pinpoint
  • AWS