Skip to content

Latest commit

 

History

History
178 lines (129 loc) · 6.72 KB

README.md

File metadata and controls

178 lines (129 loc) · 6.72 KB

Teach Me! 📚

강의 추천 플랫폼 Teach Me 입니다!
온라인 강의 플랫폼이 많아 강의를 비교하는 데 어려움이 있어 Teach Me를 개발하게 되었습니다.
Teach Me를 통해 여러 플랫폼의 강의를 한 곳에 모아 비교할 수 있습니다.
최신순, 가격순 정렬과 키워드, 강사명 검색 등의 기능을 제공합니다.

-> Teach Me! 바로가기 🍀

팀원 구성

기술 스택

개발 환경

  • MySQL 8.1.0
  • Java 11
  • Spring 1.0.15.RELEASE
  • Spring Boot 2.7.17
  • amazon linux 2023
  • Docker

시스템 아키텍처

프로젝트 과정 중 기술적 고민

  • 개발 초기에 크롤링을 구현하면서 두 개의 사이트(인프런, 패스트캠퍼스)를 각자 구현을 진행하게 되었는데 어느 정도 개발이 진행되고 나서 해당 비즈니스 로직의 메서드가 중복되는 것을 확인하였고, 인터페이스를 상속받는 형식으로 리팩토링하여 프로젝트 를 조금더 확장성 있는 구조로 개선하였다.

  • 로깅 기능을 관점 단위로 분리하여 Spring AOP기술을 활용하여 비즈니스 로직을 분리하였다.

  • 배포를 진행하면서 어느 환경에서든 효율적으로 동작할 수 있도록 WAS 와 DB를 Docker container화 하여 배포하였다.

  • 배포 이후 운영을 진행하면서 발생하는 문제나 오류를 빠르게 처리할 수 있도록 AWS에서 제공하는 CloudWatch와 SNS, Lambda를 활용해 Slack으로 알림을 받아 빠르게 대처할 수 있는 모니터링 환경의 구현을 진행하였다.

DB ERD

API 명세서

시연

1. 홈

2. 회원 가입

3. 로그인

4. 리뷰 조회

5. 리뷰 작성

6. 리뷰 삭제

7. 리뷰 수정

8. 찜 하기

9. 찜 조회

10. 강의 리스트 조회

11. 강의 상세 내용 조회

12. 크롤링 관리 페이지

13. 통계 페이지 확인