February
19th,
2021
개인적으로 회사에서 사용하는 구버전(3.1..) 말고, 조금 더 트렌디하고 상용화된 기술을 사용하고 싶어 사이드 프로젝트를 구상하게 되었다.
이번 사이드 프로젝트의 주제는 ‘개발자 강의 모아보기’ 웹사이트이다. 개발자들이 강의를 볼 수 있는 플랫폼은 많은데, 숙박예약하는 호텔X컴바인처럼 모든 강의를 모아 볼 수 있는 플랫폼은 없어 일일히 찾아봐야 한다는 번거로움이 존재했다. 그래서 사람들에게(혹은 나에게 ㅎ_ㅎ) 편리함을 줄 수 있는, 강의 모아보기 사이트를 구상하게 되었다.
서비스 주요 기능
여러 인터넷 강의 플랫폼에서 개발자 커리어와 관련된 강의를 크롤링하여, 강의를 한 눈에 보여주는 사이트.
- 정보를 가져와야 하는 인터넷 강의 사이트
- 인프런
- 프로그래머스
- 코드잇
차차 구현 완성도에 따라 사이트를 추가해보자.
세부 기능
사용자
- 사용자는 크롤링한 강의들을 볼 수 있다.
- 조건 별로 필터링 할 수 있다.(인강 플랫폼, 카테고리, 가격대)
- 강의명을 토대로 검색이 가능하다.
- 강의 선택시 해당 강의 링크로 이동할 수 있다.
- 문의하기를 통해 관리자에게 추가/변경 요청을 할 수 있다.
어드민
- 유입현황을 확인할 수 있다.
- 어떤 카테고리에 방문자 수가 많은지 확인할 수 있다.
- 일정시간이 지나면 해당 사이트에서 크롤링을 진행한다(서버)
- 변동사항이 있을 경우, 어드민 관리자에게 메일로 변동사항을 알려준다.(서버)
어드민쪽 구현보다는 우선적으로 사용자단 기능의 구현에 집중해보자.
도메인
- 강의
- 카테고리
- 문의글
개발 스택
- 클라우드 환경(AWS를 제일 먼저 고려하고 싶긴 한데.. 가격적인 측면에서 확인해보고 결정한다)
- Docker : 서버 배포
- PinPoint : 분산 서비스 APM 툴
- Ngrinder : 성능 측정 목적으로 만들어진 오픈소스 프로젝트
백엔드
- 스프링 시큐리티
- 스프링 JPA (QueryDsl)
- 스프링 Web MVC
- 스프링 부트
- 스프링 클라우드
- 스프링 캐시
- 스프링 배치
- Jsoup
- 메시지 큐
- Spring Email
기타
- 무료 도메인
- Git
- Gitlab
- cloudflare : ssl 등을 무료로 지원
- jira : 일정/이슈관리
앞서 작성한 내용은 추후 개발되는 내용에 따라 점차 변화가 생길 수 있으며,
바뀌는 내용에 따라 함께 업데이트 해 줄 예정이다.