1 of 19

인턴과제 발표

코어개발팀 DMIN

SUPER_MAKERS

2 of 19

  1. 회사 내 담당 역할 소개
  2. 시스템 개발 목적
  3. 프로젝트 소개
    1. CRM-INTERNAL-CUSTOMER-API
    2. CRM-COUPON-API
  4. 프로젝트 진행에서 아쉬웠던점/느낀점
  5. 인턴십을 하며 느낀점

목차

3 of 19

  • CTO본부 시스템 구성도

회사 내 담당 역할 소개

4 of 19

CRM-INTERNAL-CUSTOMER-API

COUPON- API

  • 회원 기능
  • 포인트 기능
  • 쿠폰 기능

회사 내 담당 역할 소개

5 of 19

“Customer Relationship Management”

  • 고객관계 강화를 통한 수익성 증대
  • 목표 마케팅(target marketing)가능
  • 고객의 수익 기여도에 따른 전략 수립
  • 교차판매, 상향판매, 재판매 등을 통한 고객가치 증대

출처 : 위키백과(https://ko.wikipedia.org/wiki)

현재 사업은 오프라인으로 진행

회사가 성장하기 위해서는 온라인 서비스가 필요

현재 퍼스트몰 사용

자체시스템이 아니여서 요구사항을 반영하기 어려움

자체 시스템 구축

시스템을 만드는 목적

  • CRM 제작 목적

6 of 19

시스템을 만드는 목적

  • 기대 효과

기능추가 및 요구사항을 반영하기 수월해짐

온라인 서비스 빠르게 성장 가능

회사 성장의 걸림돌 제거

궁극적으로 회사 매출 증대에 기여할 수 있음

7 of 19

CRM-INTERNAL-CUSTOMER-API

포인트

회원

  • 회원 정보 목록 조회 (전화번호)
  • 회원 정보 조회
  • 회원 정보 등록
  • 회원 정보 수정
  • 회원 정보 삭제

  • 포인트 적립
  • 포인트 적립 취소
  • 포인트 사용
  • 포인트 사용 취소

CRM-INTERNAL-CUSTOMER-API

프로젝트 소개

  • 서비스 기능

8 of 19

CRM-INTERNAL-CUSTOMER-API

기존포인트 기능

  • 포인트의 유효기간을 추가 하는 작업 진행

고객이 기존 포인트를 소모할 시간이 필요

고객이 포인트 유효기간이 추가된 걸 인지 할 시간 필요

점진적으로 개선하여

최종적으로 8~9월까지 작업 완료 예정

프로젝트 소개

  • 추가 기능 안내

9 of 19

CRM-INTERNAL-CUSTOMER-API

Q. 포인트 유효기간이 각각 다르기 때문에 어떻게 효율적으로 사용처리할 것인가?� A. 적립한 기록들을 가져와 유효기간이 짧은것을 사용하거나 이벤트성 포인트 우선 사용

Q. 유효기간 있는 포인트를 어떻게 효율적으로 관리할 수 있을 것인가?

A. 잔여 포인트의 유동성만 기록

포인트 기록

포인트

잔여포인트상세기록

프로젝트 소개

  • 포인트 핵심 부분

10 of 19

CRM-INTERNAL-CUSTOMER-API

성게미역국 구매 -> 포인트 적립 + 500원

닭갈비 구매 -> 포인트 적립 +500원

ID

현재포인트

변동포인트

잔여포인트

유효기간

메모

1

500

500

500

2022-06-20

적립

2

1000

500

500

2022-06-21

적립

id

현재포인트

변동포인트

잔여포인트

유효기간

메모

1

500

500

500 -> 0

2022-06-20

적립

2

1000

500

500 ->200

2022-06-21

적립

3

200

-800

0

x

사용

된장찌개 구매 -> 포인트 사용 -800원

사용전 사용 후

Table.포인트기록

id

포인트기록아이디

참조한 아이디

포인트

메모

1

3

1

500

사용

2

3

2

300

사용

1

2

3

Table.포인트기록

Table.잔여포인트 상세기록

포인트 기록에서 500원 과 300원을

사용했다는 증거 없음

프로젝트 소개

  • 포인트 예시 기록

11 of 19

포인트 적립

포인트 적립 취소

포인트 사용 취소

포인트 사용

  • 포인트 기능 흐름도

12 of 19

회원 조회

회원 목록 조회

회원 등록

회원 수정

회원 삭제

  • 회원 흐름도

13 of 19

CRM-COUPON-API

쿠폰 메타 데이터 정보

고객에게 발행된 쿠폰

고객쿠폰 발행 가능

사용코드와 일치한다면

고객쿠폰 발행 후 고객정보 입력

쿠폰사용코드 발행가능

쿠폰원장

프로젝트 소개

  • 쿠폰

쿠폰

발급코드

고객쿠폰

14 of 19

CRM-COUPON-API

고객

관리자

CRM-COUPON-API

쿠폰

발급코드

쿠폰원장

고객쿠폰

  • 목록조회
  • 상세조회
  • 생성
  • 수정
  • 삭제

  • 목록조회
  • 등록
  • 삭제

  • 목록조회
  • 상세조회
  • 발급
  • 재발급
  • 회수
  • 이력조회�(발급/재발급/사용/회수)

다운로드

쿠폰

발행된쿠폰

  • 목록조회
  • 발급

  • 목록조회
  • 사용
  • 사용취소

쿠폰코드

  • 등록하기

포스

  • 목록조회
  • 사용
  • 사용취소

프로젝트 소개

  • 서비스 기능

15 of 19

CRM-COUPON-API

관리자

사용자

관리자

시스템

쿠폰발급

발급코드로 쿠폰등록 요청

쿠폰 다운로드 요청

쿠폰 발급 요청

조건확인 (생일, 첫 회원가입 시)

쿠폰원장 생성

쿠폰발급코드 생성

프로젝트 소개

  • 쿠폰 기능 흐름도

코드 확인

다운로드 가능 확인

16 of 19

1. 구현에만 집중하다보니 코드 퀄리티 ⬇️

2. 가독성 ⬇️ 유지보수성 ⬇️

1. 지속적인 코드리뷰를 통해 피드백 받아 개선

2. 관련 서적을 구매하여 지속적으로 좋은 코드를

짜기위하여 노력

3. code refactoring 필수!!

프로젝트를 진행하며 아쉬웠던 점

아쉬웠던 점

해결방안

17 of 19

  • 개발서버에 배포하는 과정

빌드,배포 과정을 한눈에 보며 전체적인 흐름과 프로그램이 어떻게 구동하는지 확인

  • 커뮤니케이션의 중요성
  • 의도가 명확한 코드

- 하나의 시스템을 완성시키기 위해서는 프로그래밍을 잘하는 것도 중요하지만 기획자의 의도를 파악하고 시스템을 정책에 맞게 설계하는 것이 중요

- 커뮤니케이션을 통해 내가 무엇을 어떻게 해나갈지 정해야하는데 개발 용어에도 미숙하기도 했고 가지고 있는 지식이 얕다보니 초반에는 어려움을 느꼈지만, 꾸준히 레퍼런스도 찾고 질문을 통해 답을 찾아가며 부족했던점들을 보완

- 프로젝트를 하면서 가장 많은 고민을 했던것은 변수명과 함수명의 네이밍

- 협업을 통해 결과물을 만들어야 하는데, 내가 짠 코드가 이해가 안된 다면 무용지물

- 의도가 명확하지 않은 코드를 작성한다면 일주일, 한달 뒤에 보면 무슨 의도로 이름을 작성했는지 헷갈림

- 결국 코드라는것은 상대방을 이해시키기 위해서 설계해야 한다는 것을 느끼게 되었고 한번 코드를 짜고 끝이 아니라 지속적으로 리펙토링을 통해 짜임새 있는 코드를 작성하는게 중요

프로젝트를 진행하며 느낀점

18 of 19

입사 첫 날

3개월 뒤

배움과 경험을 통해 성장

3개월 간의

기록들

인턴십을 하며 느낀점

DMIN

DMIN

19 of 19

감사합니다