[ 목차 ]
프로젝트 배경
기존 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. 스팸 관리 : 회원별 발신번호/수신번호/단어/카카오 어뷰징 스팸
추가 기능
자료실 : 메뉴얼 등록, 실시간 변경, 에이전트 파일 등록 기능
개인정보처리방침 이력 관리
공지사항 관리
팝업 관리 기능
계정 권한 관리
리셀러 관리 기능 추가
'Spring > 프로젝트 코드 리뷰' 카테고리의 다른 글
Spring WatchaPedia 클론코딩 프로젝트 취향 분석(선호 배우, 국가, 장르, 감상 시간) (0) | 2023.03.08 |
---|---|
Spring 클론코딩 프로젝트 취향분석( 유저정보, 평가수, 별점분포) (0) | 2023.03.07 |
Spring 클론코딩 프로젝트 콘텐츠 DetailPage( 비슷한 장르의 작품 추천) (0) | 2023.03.06 |
Spring 클론코딩 프로젝트 콘텐츠 DetailPage( 감상 가능한 곳, 유튜브(youtube) 예고편, 겔러리) (0) | 2023.03.05 |
Spring 클론코딩 프로젝트 콘텐츠 DetailPage( 출연/제작) (0) | 2023.03.05 |