- 진행 기간:
2024-12-02
~2025-01-06
- 매일 문자나 이메일로 최신 IT 컨텐츠를 발송하는 서비스입니다.
- 기술 발전 속도가 빠르게 변화하는 IT 업계의 트렌드를 한눈에 파악하고, 사용자에게 필요한 정보를 신속하게 전달하고자 합니다.
- 구독 시 전달 방식(이메일, 문자)을 선택할 수 있으며, 구독 유형(IT블로그, IT뉴스) 선택, 관심분야(프론트, 백엔드)를 선택할 수 있습니다.
- 더 좋은 품질을 위하여 admin으로 발송할 IT컨텐츠들을 미리 검수합니다.
유선준 | 김신희 | 김지혜 | 권준석 | 최서영 |
---|---|---|---|---|
@SeonJuuuun |
@shinheekim |
@Hamiwood |
@junseok708 |
@seoyeong-4811 |
- 협업 툴: Slack, Notion
- Backend: Java, Spring Boot, JPA
- Database: MySQL
- 버전 및 이슈관리: Git, GitHub, GitHub Issues
- Git-flow 전략을 활용하여 main, develop, issue 브랜치를 관리했습니다.
- main: 배포 버전을 관리하는 브랜치
- develop: 개발 단계에서 통합되는 브랜치
- issue: 기능별로 작업 후 develop 브랜치에 병합
서비스의 데이터베이스 구조는 아래 ERD에 기반합니다. 각 엔터티와 관계를 통해 효율적인 데이터 관리를 고려했습니다.
├─common // common 담당 모듈
│ ├─itcast
│ │ ├─domain
│ │ │ ├─user
│ │ │ │ └─User.java
│ │ │ ├─blog
│ │ │ │ └─Blog.java
│ │ │ └─BaseEntity.java // Timestamped.java
│ │ ├─config
│ │ ├─exception
│ │ ├─jwt
│ │ └─logging
│ └─ResponseTemplate.java
├─b2c
│ ├─auth
│ │ ├─client
│ │ ├─controller
│ | | └─ controller.java
│ | ├─dto
│ | | ├─request
│ | | └─response
│ | └─ application
│ | └─ service.java
│ ├─user
│ │ ├─repository
│ │ ├─controller
│ | | └─ controller.java
│ | ├─dto
│ | | ├─request
│ | | └─response
│ └─ └─ application
│ └─ service.java
├─schedule // 스케쥴링 담당 모듈
│ ├─repository
│ ├─dto
│ | ├─request
│ | └─response
│ ├─application
│ | └─ service.java
│ └─ └─ application
│ └─ service.java
└─admin // 어드민 담당 모듈
├─repository
...
- 소셜 로그인
- 회원 정보 작성, 수정, 회원 탈퇴
- 휴대폰 번호 인증, 이메일 인증
- 로깅 모니터링
- 블로그/뉴스 크롤링 스케쥴
- 블로그/뉴스 발송 날짜 선택 스케쥴
- 블로그/뉴스 발송 스케쥴 (이메일, 문자)
- 로깅 모니터링 및 AI 요약 기능
- 관리자 블로그, 뉴스 검수 기능(CRUD)
- 관리자 히스토리 관리 기능(조회, CSV 다운로드 및 메일 발송)
- 로깅 모니터링
$git clone https://github.com/crawling-project-crowrong/it-cast.git
$docker-compose up -d