미리보기
기본 정보
스타트업에서 개발을 시작한 6년차 개발자입니다. 초기에는 Angular, Express, MongoDB, Nginx를 활용한 호스팅 환경에서 개발을 시작하여, 현재는 React, NestJS, Kubernetes 기반의 스택을 주로 다루고 있습니다.
자기소개
스타트업에서 1인 개발로 시작하여, 프로덕트를 담당하는 유일한 개발자로써 퍼블리싱, 프론트, 백, 데브옵스 모든 분야의 작업을 진행하고 지속적으로 개선을 진행하였습니다. 또한, 회사 창업 초기 멤버로써 회사에서 운영하는 프로덕트의 기획에 대부분 관여하고 회사의 중요한 결정에도 많이 참여하였습니다.
이후 초기 1인 개발에서 6인까지 개발팀을 확장하면서, 개발팀 컨벤션, 이슈 관리 툴 활용, 문서 정리, 팀 스터디 등을 진행하며, 개발팀 빌딩과 팀원의 성장을 위해 노력하였습니다.
서비스 초기 오픈 이후 6년간 유지보수를 진행하면서, 여러차례의 리뉴얼을 진행하고, 리팩토링을 진행하였으며, 특히 Angular - Express - MongoDB 기반의 서비스를 React, NestJS, PostgreSQL 기반의 스택으로 변경하는 마이그레이션 작업을 진행하였습니다.
다양한 분야의 작업이 가능하지만, 스스로 프론트엔드 개발자로써 개발 능력이 가장 뛰어나다고 생각하며, 또한 유저와 직접적으로 소통하게 되는 프론트엔드 분야에 가장 관심이 많아서 해당 분야의 전문성을 높이기 위해 노력하고 있습니다. 다른 분야에서 해왔던 작업경험도 도움이 될 것이라 생각하고 있습니다.
기술 스택
경력
이해라이프스타일
팀장 • 개발팀
창업 초기 멤버로 시작하여 1인 개발로 시작하여, 최대 6인 정도의 개발팀을 운용하며, 회사에서 필요한 B2C 서비스, B2B 서비스를 개발, 유지보수를 진행해왔습니다.
초기에는 Angular, Express, MongoDB, Nginx를 활용한 호스팅 환경에서 시작하여, 현재는 React, NestJS, Kubernetes 기반의 스택을 주로 다루고 있습니다.
- 이커머스 쇼핑몰 구축
- 이커머스 쇼핑몰 관리페이지 구축
- 회사 서비스를 위한 인프라 구축 및 개선
- 타사와의 사업을 위한 별도 서비스 개발 및 유지보수
- 결제모듈 연동 (솔루션 및 직접 연동)
- 이커머스 앱 개발 (웹뷰 형태)
- 개발팀 구축 및 운영
(7년 3개월 | 정규직)
프로젝트
이해라이프스타일
살구 BIZ
B2B 고객을 위한 페이지로, 고객이 가입 및 인증 후 상품을 확인하여 견적을 뽑아 볼 수 있는 서비스.
[전체]
- 프로젝트 기획, 관리, 설계 담당
[프론트엔드 - React]
- 관리자 페이지 전체 설계 및 구현
- 기존 리스트 헤더 컴포넌트 리팩토링을 통한 기능 개선.
- 이미지 업로더 모듈을 사용하여, 이미지 업로더 갯수 가변형 페이지 제작.
[인프라]
- AWS, k8s, argoCD, s3, cloudfront 등을 사용한 인프라 세팅.
이해라이프스타일
달달구독
매 월 일정금액을 내고, 본인이 선택한 가구를 사용할 수 있는 서비스
[전체]
- 프로젝트 기획, 관리, 설계 담당
- 목 데이터 생성 및 테스트 진행 관리
[프론트엔드 - React]
- 관리자 페이지 전체 설계 및 구현 (기존 Angular 기반의 관리자 페이지를 React 기반으로 재작업)
- React 기반 퍼스트페이 결제 모듈 제작
- React 기반 이미지 업로더 모듈 제작
- 관리자 페이지, 유저 페이지 결제 모듈 적용
- React 기반 ckeditor 적용 및 커스터마이징
[백엔드 - NestJS]
- 전체적인 데이터 스키마 및 API 설계
- 관리자 페이지 API 전체 설계 및 구현
[인프라]
- AWS, k8s, argoCD, s3, cloudfront 등을 사용한 인프라 세팅
- 개발서버에 WAF 적용하여 외부IP 차단
서비스 주소 : https://daldal.thesalgu.com
이해라이프스타일
살구 리뉴얼 및 유지보수
기존의 Angular와 Express로 제작되었던 회사 메인 서비스 쇼핑몰을 React와 NestJS 기반으로 마이그레이션 하는 작업
한번에 전체를 수정하기에는 규모가 커서, 각 부분들을 별도로 작업하면서 순차적으로 반영하는 형태로 진행
기존의 서비스 중 일부 프론트엔드 (메인페이지, 상품관련 페이지, 마이페이지, 카트페이지) 마이그레이션 및 일부 백엔드 (유저, 상품, 주문 서비스) 마이그레이션이 진행
[전체]
- 프로젝트 기획, 관리, 설계 담당
[프론트엔드 - Angular, React]
- 관리자 페이지 전체 설계 및 구현
- 신규 마이그레이션 API에 맞게 기존 서비스들의 전반적인 인터페이스 변경 및 연동 작업 진행 (상품 관련 전체, 주문 관련 전체 API 변경)
- 신규 주문 관리 페이지 제작 및 결제 모듈 연동
- 유저 페이지의 마이페이지 설계 및 구현 (주문 내역, 주문 상세, 카드 변경, 반납 신청 등 비즈니스 관련 페이지)
- 유저 페이지의 코드 리뷰 진행
[백엔드 - NestJS]
- 전체적인 데이터 스키마 및 API 설계
- 상품 옵션의 등록 / 수정 / 삭제 관련 설계 및 로직 구현
[인프라]
- Angular와 React 기반의 홈페이지가 함께 사용될 수 있도록 인프라 세팅 작업 진행 (S3, Cloudfront, Lambda 사용)
서비스 주소 : https://thesalgu.com
이해라이프스타일
SCM
신규 인원의 적응을 지원하기 위해 진행된 프로토타입 프로젝트
MSA 형태의 백엔드 서비스와, 카프카를 시범적으로 도입
[전체]
- 프로젝트 기획, 관리, 설계 담당
[백엔드 - NestJS]
- 전체적인 데이터 스키마 및 API 설계
- 물류 서비스 API 설계 및 구현
[인프라]
- 카프카 인프라 세팅 및 적용 테스트
- MSA 형태의 시스템 구축 및 내부 통신 테스트
이해라이프스타일
공유주거 전용 가구구독 페이지
공유주거에 입주한 고객을 위한 가구구독 페이지로, 입주민을 위한 전용 서비스
[전체]
- 프로젝트 기획, 관리, 설계 담당
[프론트엔드 - Angular]
- 관리자 페이지 전체 설계 및 구현
- 상품 및 주문 관리 로직 구현
- 계약서 이미지 제작 및 전송 로직 구현
[백엔드 - NestJS]
- 전체적인 데이터 스키마 및 API 설계
- NestJS, TypeORM, PostgreSQL를 사내 메인 스택으로 도입
- 전체 API 구현 담당
[인프라]
- AWS ECS를 사용한 컨테이너 환경을 사내 메인 스택으로 도입
- Github Action, Code Deploy를 사용한 자동 배포 적용
[기타]
- 1년정도 유지보수 기간 중 전영역 유지보수 담당
- 유지보수 기간 중 사업상 필요에 따라 Azure로 이관. argoCD를 사용한 gitOps 도입
이해라이프스타일
모바일 앱
자체 쇼핑몰 서비스를 위한 래핑 앱 제작
- Nativescript를 사용하여 웹뷰 래핑 앱 제작
- 기존 웹(미공/살구)에 웹뷰를 연동하기 위한 추가 작업 진행 (폼, 파일시스템, 알럿 등 브라우저 환경 기반의 시스템을 분기하여 적용)
- 21년 4월 안드로이드 앱 오픈, 21년 6월 iOS 앱 오픈.
- 이후 업무상 필요에 따라 유지보수 상시 진행
이해라이프스타일
AZIT
상품, 재고, 입고, 주문, 배송, 배송기사 서비스를 포함한 올인원 SCM. 물류사와의 협약을 통해 진행.
[전체]
- 프로젝트 기획, 관리, 설계 담당
[프론트엔드 - Angular]
- 전체 프론트엔드 설계 및 구현 담당
- 물류팀을 위한 물류 관리용 웹 페이지(재고 관리, 상품 관리, 입고 관리, 주문 관리, 배송 관리) 제작
- 물류기사를 위한 기사용 모바일 페이지(배송 진행 및 결과 이미지 전송) 제작
- 문자 및 카카오톡 메시지 전송을 위한 템플릿 관리 및 전송 페이지 제작
- 날짜 선택을 위한 캘린더 모듈 자체 제작
[기타]
- 이후 1년 반 동안 전영역 유지보수 및 기능 추가 진행
- 일괄 물류 조회 및 할당 기능 구현
이해라이프스타일
미공 쇼핑몰
회사의 메인 서비스인 자체제작 가구구독 쇼핑몰
[전체]
- 프로젝트 기획, 관리, 설계 담당
[프론트엔드 - Angular]
- 유저 페이지 전체 설계 및 구현
- 반응형 레이아웃 적용
- 유저 페이지 상품 리스트, 상세, 카트, 결제, 마이페이지 등 구현
- 유저 등급 시스템 구현 및 등급 별 상품 노출, 가격 변동 적용
- 내 방에 입혀보기 서비스 구현
- 쿠폰 시스템 전체 설계 및 구현
- 외부에 제공되는 주문시스템 연계 적용
- 관리자 페이지 전체 설계 및 구현
- ckeditor 적용 및 커스터마이징
- 관리자 등급 시스템 구현
- 파트너 페이지 전체 설계 및 구현
[백엔드 - Express]
- Express 사용한 사내 백엔드 초기 구축
- 유저 및 인증 관련 API 설계 및 구현
- 상품 업로드 관련 API 설계 및 구현
- 주문 관련 API 설계 및 구현
- 결제 기능 구현
[인프라]
- Nginx를 사용한 프론트엔드, 백엔드 서비스 제공 구현
- 이후 유지보수 기간에 따른 인프라 환경 업데이트 진행. (naver-cloud -> iwinv -> gcp -> aws)
[기타]
- 이후 유지보수 기간 중 지속적인 기능 추가 진행
- 메인 페이지 개선, 매거진, 리뷰 시스템 도입, 구독 시스템 도입
이해라이프스타일
인프라 세팅 및 유지보수
사내에서 제공하는 서비스들이 제대로 동작할 수 있도록 인프라 세팅 및 유지보수, 개선을 진행
[초기 버전]
- 컴퓨팅 인스턴스를 사용한 직접 호스팅(Nginx, Cloudflare, Express, MongoDB)
[AZIT 프로젝트 이후]
- S3, Cloudfront, route53을 활용한 정적 웹 호스팅
- ECS를 활용한 컨테이너 기반 백엔드 서비스 배포 및 관리
- Github Action, Code Deploy를 사용하여 자동 배포 적용
[Azure 환경으로 이전한 이후]
- 스토리지를 활용한 정적 웹호스팅
- 쿠버네티스 서비스를 사용하여 컨테이너 기반 백엔드 서비스 배포 및 관리
- Github Action, ArgoCD를 사용하여 자동 배포 적용
이해라이프스타일
미공 쇼핑몰 초기버전
회사에서의 첫 업무로, 기존 쇼핑몰 솔루션에 추가적으로 들어가야할 페이지 제작
[프론트엔드 - Angular]
- Angular를 사용하여 매거진 페이지 제작
- 메인 페이지 별도 제작
- iframe을 사용하여 기존 솔루션에 해당 제작 페이지 연결
- iframe과 기존 페이지 간의 통신 구현
[인프라]
- nginx를 사용해 웹페이지 배포 및 Cloudflare를 라우팅 및 CDN으로 활용
[기타]
- 유저, 상품, 주문, 결제 기능은 기존의 쇼핑몰 솔루션의 기능을 사용