프로젝트 개요
SI Teachle(티끌)은 교사들이 수업에 활용할 수 있는 교육 도구를 한곳에서 탐색하고 공유할 수 있는 플랫폼의 백엔드 시스템입니다. 교육 도구 정보를 카테고리별로 체계적으로 관리하며, 커뮤니티 기능을 통해 교사 간 노하우와 활용 사례를 교환할 수 있도록 지원합니다.
Kotlin과 Spring Boot 기반으로 domain, core, client-app, admin-app, gateway 5개 모듈로 구성된 멀티모듈 아키텍처를 적용했습니다. Spring Cloud Gateway를 통한 API 라우팅, Spring Security + JWT 인증, QueryDSL 기반 동적 쿼리, Apple/Kakao 소셜 로그인 연동까지 엔터프라이즈 수준의 백엔드 구조를 갖추고 있습니다.
기능 플로우
주요 기능
- 소셜 로그인 (Apple / Kakao): Apple JWKS 기반 공개키 검증과 Kakao OAuth API를 통한 소셜 로그인을 지원합니다. 신규 사용자는 자동으로 회원 가입이 처리되며,
JWT토큰 기반으로 클라이언트-서버 간 인증 상태를 유지합니다. - 교육 도구 관리: 교사들이 활용할 수 있는 교육 도구 정보를 제목, 설명, 홈페이지 링크, 다운로드 링크 등과 함께 등록하고 관리합니다. 카테고리 기반 분류로 원하는 도구를 빠르게 탐색할 수 있습니다.
- 도구 카테고리 분류: 교육 도구를 주제별 카테고리로 분류하여 체계적으로 관리합니다. 관리자가 카테고리를 생성·수정하고, 클라이언트에서는 카테고리별 필터링을 통해 원하는 도구를 탐색합니다.
- 도구 즐겨찾기: 자주 사용하는 교육 도구를 즐겨찾기에 등록하여 빠르게 접근할 수 있습니다. 사용자별 즐겨찾기 목록을 관리합니다.
- 도구 요청: 플랫폼에 등록되지 않은 교육 도구를 사용자가 직접 요청할 수 있습니다. 요청된 도구는 관리자가 검토 후 정식 등록을 진행합니다.
- 커뮤니티 게시판: 교사 간 교육 노하우와 도구 활용 사례를 공유하는 커뮤니티 기능을 제공합니다. 게시글에는 태그, 첨부파일을 추가할 수 있으며 익명 게시도 지원합니다.
- 댓글 및 좋아요: 게시글에 댓글을 작성하고 좋아요를 표시할 수 있습니다. 댓글은 계층형 구조로 답글 기능을 지원하며, 부적절한 콘텐츠에 대한 차단(Ban) 처리가 가능합니다.
- 교사 프로필 관리: 교사 인증 정보와 프로필을 관리합니다. 관리자 페이지에서 교사 목록을 조회하고 필터링할 수 있습니다.
- 약관 관리: 서비스 이용약관과 개인정보 처리방침을 관리합니다. 약관 버전별 생성·수정과 사용자별 동의 이력을 추적합니다.
- 파일 업로드:
AWS S3Presigned URL 방식으로 파일 업로드를 처리합니다. 클라이언트가 직접 S3에 업로드하여 서버 부하를 줄이고, 다건 업로드도 지원합니다. - 관리자 시스템: 별도의 관리자 애플리케이션에서 회원 관리, 게시글·댓글 차단, 도구·카테고리 관리, 약관 관리, 도구 요청 검토 등 전체 서비스 운영 기능을 제공합니다.
- 푸시 알림:
Firebase Cloud Messaging을 연동하여 사용자에게 푸시 알림을 발송합니다.



