1.1 주제 선정
- 무엇을 위해 만드는지 명심
- 타겟에 집중하고 타겟이 원하는 것을 만든다.
Worst Case
- 백엔드가 할 일 없는 프로젝트
- 알맹이 없는 프로젝트
서류 검토자가 원하는 우선 순위
- 실제 서비스 런칭/ 운영 경험
- 기술적인 역량을 잘 보여줄 수 있는 프로젝트
- 번뜩이는 아이디어
팀 프로젝트의 기준 규모
- 1~2 개월 안에 집중해서 끝낼 수 있는 분량
- 개발 기간 또한 역량을 나타낼 수 있는 척도 중 하나이다.
- 설계, 구현, 문서 작성을 포함한 기간
- 최소 3주
- 권장: 4 ~ 6주
- 최대: 8주
팀 프로젝트 역할 분배
- 역할을 잘 나눌 수 있는 카테고리가 존재하는가
- 공유하는 분야와 각자 주인이 되는 것들이 공존하는 것이 가장 좋다.
1.2 MSA (Micro Service Architecture) 소개
Monolithic Architecture - 단일 서버
- 전통적인 아키텍처
- 장점
- debug / test / Deploy / develop 쉽다.
- 단점
- 시스템이 커질수록 복잡
- 유동성이 떨어진다.
- 확장성이 떨어진다.
- 새로운 시도 어렵다.
Micro Service Architecture
- 큰 서비스가 될수록 하나의 서비스에 모든 것을 구현하지 않는다.
- 서비스 단위를 잘게 쪼개서 만들 수 있는 구조를 말한다.
- DB를 따로 가져가는 이유?
- 하나의 데이터베이스에 접근하는 속도가 한정되어 있기 때문에 DB를 여러 개로 나누면 높일 수 있다.
- 장점
- 독립적으로 배포가 가능하다.
- 이해하기 쉽고 직관적이다.
- 더 나은 확장성
- 배포가 빠르고 부하가 분산된다.
- 단점
- 시스템 관계에서 오는 복잡도
- 네트워크 간 성능 이슈
- 트랜잭션 관리
- 복잡해지는 배포
- 통합 테스트가 복잡해진다.
1.3 기능 단위로 계획하기
각 파트와 주요 기능 분류하기
- 회원 - 고객(소비자), 셀러(오픈마켓 판매자), 어드민
- 상품 - 상품 관리, 재고 관리
- 주문 - 고객이 상품 주문, 주문 내역 관리
- 결제 - 순수 결제에 대한 처리
1.4 만들면 좋은 결과물
설계 문서 (1) - 구성도 (draw.io)
Ex)
- draw.io 접속
- 새로운 다이어그램 만들기
- 읽기 어려워 진다면 일부 생략해도 되나 가능한 테이블은 모두 명시한다.
이력서 항목
- 유형: 팀 프로젝트
- 기간: 진행 기간
- 프로젝트 소개: 2~4줄 내외
- 담당 업무: ex) 팀 프로젝트에서의 ROLE 회원 100%, 결제 30% 설계 및 구현하고 다른 팀원은 ~..구현했다.)
- 사용 기술: Spring, JPA, MySQL DB, Docker, AWS
포트폴리오 목차
- 소개
- 주요 기능 (분류해 놓은 기능과 간단한 기술적 소개)
- 구성도 및 ERD
- (Option) 시퀀스 다이어그램 같은 흐름도
- 간단한 스크린 샷을 통한 설명과 코드를 기반으로 한 로직 설명
'Spring Projcect > E-commerce' 카테고리의 다른 글
Chapter 02. 프로젝트 준비하기 (0) | 2022.09.26 |
---|