테마는 재밌게 스타크래프트로 하고, 기능은 최대한 많이 구현한 저의 erp 프로젝트 메인 페이지가 담겨있는 이미지입니다.
  • ERP의 메인 페이지
사용된 스택과 링크

스택 : Typescript, NEXT.JS, EXPRESS, MariaDB

의의 : 협업 , Next.JS , DB 설계와 기획 팀 협업

툴 : Notion, Github, Figma

 

개인 노션 링크 : 윤준현 - 스타크래프트 ERP

팀 노션 링크 : FORM미쳤다

피그마 : ERP DB , Wireframe

ERP이해, DB 설계 파트를 담당하고 기획 및 구현에 참여 했습니다.

초기 팀원이 만든 스키마 설계를 모두 하나하나 검토하며 완성한 3번째 버전의 최종 스키마 설계도가 이미지에 담겨 있습니다.
  • 최종 DB 관계도
  • MariaDB
왜? DB를 맡았나?

퍼블리셔 과정을 지내며 배운 디자인과 프론트 작업보다는
전체적인 경험하고 배우고 싶었습니다.

 

모든 팀원이 잘 모르는 상태에서 프로덕트를
기획하고 고민하는 것이것은 정말 진귀한 경험일 것입니다.

 

익숙치 않은 작업이기에 몇 일을 고생하며 만들었지만,
팀원들이 설계의 의도를 이해 해줄 때나
프로덕트가 의도한 대로 바르게 작동될 때의
경험은 잊을 수 없었습니다.

MariaDB를 채택

ERP라는 개념도 모르는 상태에서
시작된 프로젝트는 많은 혼란이 있었습니다.

 

사업 규모의 ERP는 많은 상품에 대한 정보와 게시물을 상정
하는 과정이 필요하다고 생각했습니다.

 

그로 인해

유연한 NoSQL 보다는 안정성에 유리한 SQL을 활용하기 위해
MySQL와 유사한 MariaDB를 채택했습니다.

첫 DB 설계

SQL, 스키마, 키, 인덱스 - 처음보는 개념들
처음 겪어보는 DB설계는 많은 지식이 필요했습니다.
기능을 나열한 명세표를 기준으로 DB를 설계해 보았는데,
개발 환경 설정부터 막혀서 막막했던 경험이 있습니다.

 

입문서를 구매하여 개념을 나열하고 공부하며 정리하는 과정
을 통해 DB 테이블의 관계도에 대해 공부하고 이해하였습니다.

 

이후 회의나 개인적인 시간을 할애하여
팀원과 지식 교류 에 힘썼으며 그 결과 모든 팀원의 중심에서
소통하며 프로젝트 운영이 원활할 수 있도록 도왔습니다.

스키마 설계

초기 스키마 설계에 많은 오류 사항이 있었기 때문에
완전히 새로 고치기로 마음 먹었습니다.

 

첫 설계가 스키마 설계라 많은 어려움이 있었지만
이전에 IA를 잘 적어놨고, 지인을 통해 IA나 DB 타입에 대해 물어보기도 하고, 누수 체크를 2번씩 하며 DB로 개발에 막히는 일이 없도록
최선을 다했습니다.

 

다만, 컬럼을 설정하며 의도를 따로 적지 않아
팀원이 문제 풀 듯이 의도를 파악하거나 저에게 물어보는 것을
강제했다는 것이 조금 아쉬웠던 것 같습니다.

 

칼럼 별 어느 기능에 속하는 지 표로 만들었으면 어땠을까하는 아쉬움이 남습니다.

A3 페이지에 수기로 작성된 IA 기능표와 스키마 설계, 관계도가 작성되어 있습니다.
  • 왼쪽 위 IA의 기능을 나열
  • A3 페이지에 모두 적고 검토했다.
환경 구성의 중요성 : 공용 로컬 서버 접근 방식

작업하며 DB 테이블의 설계가 완벽하지 않고, 추가적인 테이블 수정 작업을 위해 실시간 공유하는 환경을 원했습니다.
하나의 컴퓨터를 네트워크 방화벽을 열어서, ip 설정을 열어 팀원 모두가 실시간으로 피드백 받을 수 있는 환경을 구축했습니다. 배포나 AWS RDS 같이 클라우든 환경에 대한 경험이 없는 그 때 당시 모두가 신기해 했던 경험이 기억에 남습니다.

 

이 환경 구축 덕분에 편하게 가데이터를 작성하고,
칼럼 별 설명 칸에 기초값이나 코멘트를 달아 작업하기 쉽도록 노력했습니다.

팀업

공식적으로 팀 단위를 행동하며
IA를 본격적으로 작성해보고 설계에 따라 작업을 진행해보았습니다.

 

처음 해보는 DB 공부와 설계로 많은 어려움을 겪었지만, 공부하며 설계하고 MariaDB의 트랜젝션 기능도 활용해보고,
주변 지식의 공부할 수 있었습니다.

 

팀원의 피드백을 적극 수용하며 혼자만 하는 것이 아니라
팀원과 협업과 소통한 진귀한 경험이었습니다.

 

팀원분의 아이디어로 같은 인터넷을 활용하는 LAN 환경을 활용하여
팀원들과 연결하여 편하게 조정할 수 있었습니다.
DevOps의 중요성을 엿보는 듯 했습니다.

 

팀원을 파악하고 서로 돕는 등 내 작업에만 몰두하는 것이 아니라,
팀 노션을 활용하여 리스트업 한 일을 처리하고,
서로 공부한 것을 확인하고 공유하였습니다.

 

팀의 흐름을 파악하고 조언하며 서로 돕거나
상호작용과 객관화를 통해 인적 자원을 파악하는 등
팀업에 필요한 눈을 기를 수 있다는 것이 큰 배움이라고 생각합니다.