Skip to content

모두의 국영수 팀 프로젝트 (유료 강의 서비스)

Notifications You must be signed in to change notification settings

loveyrooney/AllForClass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

AllForClass

온라인 유료 시범강의 수강 서비스 (2024.05.14 ~2024.05-30)

프로젝트 팀원

김보경 (25%) 김혜연 (25%) 송미라 (25%) 양세현 (25%)

마이페이지,관리자페이지

UI, 스토리 보드

수강신청/결제, 이메일안내

Github 관리, 요구 사항 분석

회원가입/로그인, 메인페이지

일정체, 이슈 원인 분석

강의실, 관리자페이지

DB 관리, 문서 관리

기술 스택

Front End

Back End

Version & Build

open JDK 11
spring 5.3.15
apache tomcat 9.89

AWS EC2(ubuntu) 및 RDS 사용, war 파일 톰캣 서버에 띄워 배포

프로젝트 주요이슈

결제 및 수강신청 관련

⚠️구현 관련하여 발생한 문제

  • 결제 및 수강 신청의 흐름이 길어져 경계가 모호
  • ⚠️실패하는 경우의 수가 다양해 서비스 운영 시의 문제 대응 어려움

📌 비즈니스 flow 를 구조화하고, 각 영역에 따른 custom exception 처리

  • 수강 신청 가능 여부 체크 → 결제 → 결제 확인 → 수강 신청 → 응답 으로 flow 구조화
  • 구조에 따른 로직 처리 영역 분리 (결제는 클라이언트에서 직접 API 요청 / 결제확인은 서버단에서 API요청)
  • 예외 처리는 결제 자체의 실패 / 결제 확인 단계의 실패 / 수강 신청 단계의 실패 로 구성

강의실, 관리자 페이지, 마이페이지 관련

⚠️구현 방법과 관련한 논의 사항

  • method 1. 여러 종류의 비즈니스 리스트를 한번에 받아와서 css 처리로 탭 구현
  • method 2. 각각의 탭에서 해당 비즈니스 리스트를 받아오도록 구현

📌 관리자 페이지, 마이페이지는 특정 role 유저만 접근한 상태

  • 비즈니스 리스트를 직접 변경할 일이 없음
  • method 1 방법으로 구현하여 리스트 요청 횟수 최소화

📌 강의실 에서는 role 에 따른 접근 통제가 필요

  • ⚠️ role 마다 다른 UI 요소의 css hidden 처리 시 , 브라우저에서 hidden 해제 가능
  • 뷰 렌더 시에는 강의 정보 관련 요소와 현재 접속자의 role 만 띄운다
  • method 2 방법으로 구현하여 role 마다 다른 UI 요소는 fetch 요청을 통해 동적으로 생성

프로젝트 주요기능

기능 설명
메인페이지 1. 개강일 임박 순으로 수강 오픈된 강의 조회
2. 상단 바에서 검색 및 로그인/회원가입/마이페이지 접근
수강신청/결제 1. 강의 상세정보 조회
2.현재 접속자의 role과 수강신청 여부에 따라 수강신청/취소 및 강의실 입장 버튼 표시
3. 수강하기 버튼 누르면 현재 접속자의 스케줄 및 현재 강의의 정원초과 여부 확인 후 결제 api 연결
4. 결제 성공 시 알림 및 수강신청 성공 시 알림
회원가입/로그인 1. 이메일 중복 확인
2. 비밀번호 암호화 적용
3. 로그인 정보 확인 로직은 인터셉터 단에서 체크
강의실 1. 수강신청한 수강생, 해당 강의 강사, 관리자만 입장가능
2. 수강생의 경우 댓글 자유롭게 이용, 강의 영상과 자료는 개강일 해당 타임세션에 활성화
3. 강사 및 관리자의 경우 강의승인 후 영상, 자료, 댓글 자유롭게 이용 가능
마이페이지 [공통]
1. 회원정보 수정 및 탈퇴 접근
[수강생]
2. 캘린더에서 수강신청한 강의 내역 조회 및 강의실 접근
[강사]
3. 지난 강의, 예정된 강의, 승인 대기중 강의 리스트 조회 및 강의 등록 신청
관리자 1. 승인 대기중 강의 / 전체 강의 / 전체 회원 리스트 조회
2. 승인 대기중 강의에서 강의 내용 수정 및 강의 승인 가능
3. 회원 리스트에서 회원 수정 및 삭제 가능

ErDiagram

UseCase Diagram

About

모두의 국영수 팀 프로젝트 (유료 강의 서비스)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •