Spring/프로젝트 코드 리뷰

관리자 웹 마이그레이션 프로젝트 정리

code2772 2024. 5. 11. 13:57
728x90
반응형
 

 

프로젝트 배경 

기존 18개의 서버와 9개의 DB로 나뉘어 저 있어 운영 및 관리와 보안의 위험성이 존재합니다. 또한 20년이 넘은 JSP로 만들어진 구 애플리케이션으로 느린 페이지 로딩 시간과 비효율적인 콘텐츠 관리 시스템, 비응답형 웹 디자인 및 사용자 비 친화적이기 때문에  사용자의 UI/UX 측면에서의 향상과 차 후 리셀러(유통) 활성화로 점진적 시장 점유율 확대와 콘텐츠 관리 용시성과 효율성 증가를 목표로 만들게 되었습니다.

 

 

 


프로젝트 개요 

이 프로젝트는 문자 전문기업을 위한 관리자 웹 애플리케이션 입니다. 해당 애플리케이션은 React와 Next.js를 사용하여 프론트앤드를 개바하였으며, 백앤드는 Kotlin과 Spring Boot 를 사용하여 구축하였습니다. 이 애플리케이션은 문자 전송을 위한 데이터 관리 및 운영을 담당합니다. 

 

프론트엔드 기술 선택 이유

React:
컴포넌트 기반 아키텍처: React는 컴포넌트 기반 아키텍처를 제공하여 코드의 재사용성과 유지보수성을 높여줍니다. 복잡한 UI를 구성할 때 특히 유용합니다.
가상 DOM: React의 가상 DOM은 UI를 효율적으로 업데이트하여 성능을 향상시킵니다. 대규모 애플리케이션에서도 빠른 렌더링 속도를 유지할 수 있습니다.


Next.js:
서버 사이드 렌더링(SSR) 및 정적 사이트 생성(Static Site Generation, SSG) 지원: Next.js는 SSR과 SSG를 지원하여 초기 로딩 속도를 향상시키고 SEO를 개선할 수 있습니다. 특히 검색 엔진 최적화에 중요한 웹 페이지에 적합합니다.
라우팅 및 데이터 가져오기: Next.js는 간편한 라우팅 및 데이터 가져오기 기능을 제공하여 개발 생산성을 높여줍니다. 개발자는 UI 개발에 집중할 수 있습니다.


백엔드 기술 선택 이유

Kotlin:
안전성 및 표현력: Kotlin은 Java보다 안전성과 표현력이 뛰어나며, null safety와 확장 함수 등의 기능을 제공하여 개발 생산성을 높입니다.
Java와의 호환성: Kotlin은 Java와의 상호 운용성이 뛰어나기 때문에 기존 Java 라이브러리 및 프레임워크를 쉽게 사용할 수 있습니다.


Spring Boot:
빠른 개발: Spring Boot는 간결한 설정을 통해 빠르고 쉬운 웹 애플리케이션 개발을 지원합니다. 개발자는 복잡한 설정을 신경 쓰지 않고 비즈니스 로직에 집중할 수 있습니다.
보안 및 안정성: Spring Boot는 Spring Security 등 다양한 보안 기능을 제공하여 인증 및 권한 부여를 간편하게 구현할 수 있습니다. 또한, 안정적인 웹 애플리케이션을 개발할 수 있습니다.

 

 

기타 사용기술

테스트 도구: 
Kotlen 기능 테스트: Kotest, JUnit 
웹 테스트: Spring Test, MockMvc, Spring Security Test 
코드 테스트 커버리지 측정 도구: JaCoCo,Mockito 

형상관리 및 배포: 
GitLab, Jenkins 

서버 및 호스팅: 
SSL 인증서 구현 
자동 백업 및 복구 시스템 

 


기능

대표적으로 10개 

1. 회원관리(통합/관리자/리셀러 통합/리셀러 일반)

각 사용자 기능에 따른 상이한 권한과 각 하부 계정 권한설정 및 기능

(국제, 발송 요금,선후불 설정, 하부계정 등록 권한, 스팸처리, 라우팅, 아이피, api, 발송권한, 웹 로그인 가능 등)  

2. 발신번호 관리

3, 라우팅 관리
전체 라우팅 : sms , lms, mms, kakao, video, rcs , 대표 ID 별 라우팅 , 고객별 라우팅, 국제 라우팅
4. 통계 확인 : 년간, 월간, 대표ID, 고객별, 카카오채널, 국제통계, MsgOut통계
5. 금액관리
6. 카카오 관리 : REST API 사용 해당 정보 템플릿 추가, 조회 및 관리
7. RCS 관리 : REST API 사용 해당 정보 조회 및 관리
8. 식별코드 관리
10. 스팸 관리 : 회원별 발신번호/수신번호/단어/카카오 어뷰징 스팸

추가 기능

자료실 : 메뉴얼 등록, 실시간 변경, 에이전트 파일 등록 기능
개인정보처리방침 이력 관리
공지사항 관리
팝업 관리 기능
계정 권한 관리
리셀러 관리 기능 추가

 

반응형