최적의 영업을 위한 영업관리 시스템
컴퓨터와 관련부품들을 영업하는 회사의 ERP 시스템
-
개발자로서 가장 많이 접하는 주제
-
관련 동향과 전망
-
팬데믹 동안 원격근무와 온라인 교육으로 인해 성장세를 보였던 시장의 정체
➡️ AI와 게임 등 기술 발전에 따른 고성능 컴퓨터의 수요 증가로 다시 성장할 것으로 기대
-
기존 영업 ERP들의 필수 기능 + 단점 보완 ➡️ 문서화 시간 최소화 및 직관적인 화면 설계
-
관련 코드를 통해 연관된 데이터 불러오기 ➡️ 중복된 데이터 입력 생략으로 문서화 시간 감소
-
자동 엑셀 변환 및 다운로드 ➡️ 견적서, 계약서, 수주 엑셀 형식으로 자동 변환 및 다운로드 후 첨부 가능
-
직관적인 화면 설계 ➡️ 처음 서비스를 이용하는 사용자도 쉽게 서비스 이용 가능
| Spring Boot | Spring JPA | AWS S3 | Java 17 |
|---|---|---|---|
| Vue3 | JavaScript | HTML | CSS |
|---|---|---|---|
| MariaDB | AWS RDS |
|---|---|
| GitHub Actions | Route53 | Elastic Beanstalk | Prometheus | Grafana |
|---|---|---|---|---|
| GitHub | Discord | Slack |
|---|---|---|
| 이름 | 내용 |
|---|---|
| 송동준 | 이번 프로젝트에서는 실제 실무와 밀접한 연관이 있는 영업관리 시스템(ERP)을 제작해 보았습니다. 아무래도 ERP 자체가 저희에게 생소한 주제이다 보니 조원들이 서 여러 방면으로 공부해 보고 실제 실무진 멘토의 경험을 바탕으로 프로젝트를 진행하였습니다. 이를 통해 기본적인 거래처 견적서 계약서 수주 전표를 실적을 관리하는 기능을 구현하였고 다른 시스템과의 차별성을 두기 위해 여러 정보들을 불러와서 일일이 작성할 필요 없이 자동적으로 작성할 수 있게 편의성을 추가했습니다. 생소한 주제라 이해하는데 시간도 오래 걸리고 현업에서 쓰는 시스템인 만큼 많은 기능을 가지고 있어 구현하는 데 어려움을 겪었으나 다른 팀원들 보다 적은 인원수에도 일정을 잘 관리하여 최종 프로젝트를 무사히 완성할 수 있었습니다. 권한 부여 정보 불러오기 여러 조건들에 의한 상태 값 변화들을 신경 쓰면서 문제 해결 능력을 더 기를 수 있었고 오류 코드를 차근차근 점검해나가면서 차분함을 기를 수 있었습니다 또한 Elastic Beanstalk을 통해 자동 배포 시스템을 이용하면서 실제 현업에서 어떻게 배포하는지를 배울 수 있었습니다 |
| 양지혜 | |
| 윤재은 | 이번 프로젝트에서는 효율적인 영업을 위한 영업 관리 시스템이라는 생소한 주제를 가지고 2개월 동안 진행하며 많은 새로운 경험을 했습니다. 팀원들이 각각 기획서를 제작하는 과정부터 시작해, 영업 프로세스를 익히기 위해 많은 자료를 조사하고 여러 영업 관련 ERP를 참고하며 장단점을 추출하고 이를 기반으로 기획을 했습니다. 저는 이번 ERPC 프로젝트에서 DB 모델링, RDS 서버 구축, JPA를 활용한 CRUD, GitHub Actions와 Elastic Beanstalk을 활용한 CI/CD, Spring Security, SMTP 설정을 맡았습니다. 개발을 시작하기 전 가장 어려울 것이라고 예상했던 권한과, 수주를 구현하기 위해 먼저 스프링 시큐리티에서 권한을 설정하지 않고 DB 모델링에서 이를 고려해 중간 객체를 만들며 권한 문제를 해결하고 JPA를 활용해 수주의 여러 얽힌 기능들을 하나씩 구현하며 많은것을 얻어갈 수 있었습니다. 이전에 시도해보지 못했던 CI/CD, Spring Security, RDS 구축을 담당하며 많은 어려움도 있었지만, 하나씩 해결해가며 Elastic Beanstalk의 작동 원리, JWT 토큰 발급, 리눅스 환경에서 Nginx 설정 등을 경험 할 수 있는 계기가 되었습니다. Elastic Beanstalk을 통해 자동 배포 시스템을 설정하고 운영하여 배포 효율성을 크게 향상시켰으며, Spring Security를 활용해 JWT 토큰 기반 인증 시스템을 구현했습니다. 또한, 리눅스 환경에서 Nginx를 설정하여 서버 성능과 보안을 강화했습니다. 비록 이번 프로젝트에서 리프레시 토큰 구현과 실적 데이터를 그래프로 시각화하는 기능을 구현하지 못해 아쉬움을 느끼지만, 이는 추후 고도화 과정에서 새로운 목표로 설정해 개발을 진행 할 계획입니다. |
| 조수빈 | 이번 프로젝트에서는 다양한 기능을 구현하며 많은 성취감을 느꼈습니다. 영업기회, 계약서, 매출 및 목표실적, 세금계산서 요청, 공지사항 관련 기능을 모두 담당하여 성공적으로 구현하였습니다. 특히, 엑셀 변환 및 다운로드 기능은 Apache POI를 이용했고, 파일 업로드는 AWS S3 버킷을 활용했습니다. 또한, 프로메테우스와 그라파나를 통해 모니터링 시스템을 구축하고, 깃허브 웹훅을 통해 디스코드 채널로 알림을 설정하여 팀원들의 진행 상황을 실시간으로 확인할 수 있었습니다. 세금계산서 관련 기능은 다른 기능들과 밀접하게 연관되어 있어 신경 써서 구현하였으며, 타 부서와의 협업을 고려해 테이블을 분리하여 구현하였습니다. JPA를 활용해 잔금 혹은 일시금을 납부할 경우 자동으로 해당 팀원 및 팀에 매출 실적을 반영하는 기능을 구현하면서 업무 프로세스를 최대한 반영하려고 노력했습니다. 다른 팀들보다 적은 인원으로 프로젝트를 진행하면서 담당한 업무 분량이 많았지만, 그만큼 더 큰 성취감을 느낄 수 있었고, 꼼꼼하게 일정 관리를 위해 노력했습니다. 특히 새로운 기술을 도입해 파일 업로드와 엑셀 변환 및 다운로드 기능을 구현하고, 여러 오류들을 스스로 해결하며 기술적인 성장을 이뤘습니다. 실제 실무진인 멘토의 조언을 받아 실무 프로세스를 최대한 반영하려 노력한 것도 큰 도움이 되었습니다. 이번 프로젝트를 통해 백엔드 개발에 사용된 Spring JPA와 Spring Boot, AWS S3를 활용한 파일 업로드, Apache POI를 이용한 엑셀 변환 및 다운로드, 그리고 디스코드 웹훅을 통한 팀원들과의 원활한 소통 등 다양한 기술적 경험을 쌓을 수 있었습니다. 이 프로젝트는 개발자로서의 역량을 한층 더 성장시키는 소중한 기회가 되었습니다. |

















































































































