본문 바로가기
Spring/프로젝트 코드 리뷰

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

by code2772 2024. 5. 11.

[ 목차 ]

    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. 스팸 관리 : 회원별 발신번호/수신번호/단어/카카오 어뷰징 스팸

    추가 기능

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

     

    반응형