Skip to content

Repository files navigation

🙋🏻팀원

김민성 박우진 황정하 신승현 김지은

@Windowmincastle

@getsetgo1

@NaturalHwang

@hyun331

@keemzleun


📢 프로젝트 소개

  • 프로젝트 개요

현 교육 시장에서는 대형 플랫폼들이 시장을 독점하면서 프리랜서 강사들이 교육 서비스 제공 기회를 얻기 어려워졌고, 소비자 입장에서는 다양한 교육 기회를 접하기 힘든 상황이 발생하고 있습니다. 대형 플랫폼들은 특정 강사와 컨텐츠에 대한 과도한 집중을 야기하고, 그로 인해 소비자의 선택의 폭이 제한되어 교육의 다양성이 정체되는 문제를 초래하고 있습니다.

  • 프로젝트 목표

SwithT Project의 목표는 일정 관리, 다양한 학습 컨텐츠, 강사의 수강생 및 학습 관리,중개 서비스 이 모든것을 한 곳에서 만족시킬 수 있는 올인원 서비스를 지향합니다. 강의를 소비자가 개인 일정과 교육 일정을 비교해 손 쉽게 이용할 수 있는 교육 중개 서비스 플랫폼을 구축하고 사용자(강사,수강생) 경험을 개선하고 교육의 접근성을 높이며 1:1 강의와 1:N 강의 중개를 통해 교육 기회를 확대 합니다. 또한 다양한 기능을 통해 강의 운영을 효율적으로 운영하고, 일정 공유 기능으로 강사와 수강생간의 상호작용을 극대화하여 교육의 질을 높입니다.


📌 주요 기능

기능 설명
일정 공유 및 관리 강사와 수강생은 캘린더를 통해 서로의 일정을 공유할 수 있으며, 개인 일정도 체계적으로 관리할 수 있습니다. 이를 통해 수업 일정을 명확히 조율하고 효율적인 시간 관리를 지원합니다.
SMS 일정 리마인드 Twilio API를 활용하여 일정 리마인드 알림을 제공함으로써 중요한 일정을 놓치지 않도록 도와줍니다. 웹 기반 애플리케이션의 한계를 보완하며 사용자 편의성을 극대화합니다.
채팅 기능 - 1:1 채팅: 강사와 수강생 간의 채팅을 통해 수업 전후로 일정을 조율하거나 수강 신청 관련 소통을 진행할 수 있습니다.
- 그룹 채팅: 분반별로 그룹 채팅을 지원하여 학습 커뮤니티를 형성하고, 수강생 간의 원활한 소통을 촉진합니다.
알림 기능 Server-Sent Events(SSE)와 Redis Stream을 활용하여 실시간 알림 기능을 구현했습니다.
- Redis Stream: 알림 데이터의 유실을 방지하고 안정적인 데이터 전송을 보장합니다.
- 안정성: 높은 트래픽 상황에서도 안정적으로 알림을 제공할 수 있도록 설계되었습니다.
결제 기능 포트원(Payments) API를 통합하여, 수강 신청 시 안전하고 간편하게 결제할 수 있는 기능을 제공합니다. 다양한 결제 옵션을 지원하여 사용자 경험을 향상시켰습니다.
대기열 기능 인기 강사의 강의에 대한 높은 트래픽 상황을 대비하여 대기열 기능을 제공했습니다. 이를 통해 사용자들은 불편 없이 차례를 기다릴 수 있으며, 전체적인 사용자 경험을 개선했습니다.

📍 기대효과

주제 효과
통합 일정 관리 강사와 수강생이 일정 공유 및 관리를 통해 수업을 효율적으로 조율하고, 개인 및 학습 일정을 체계적으로 관리할 수 있습니다.
다양한 콘텐츠 다양한 강사와 학습 콘텐츠를 한 곳에서 탐색하고 비교할 수 있어 교육 선택의 폭을 넓히고, 소비자의 개별 학습 요구를 충족시킵니다.
편리한 학습 관리 강사와 수강생 간 실시간 소통 및 알림 기능을 통해 학습 과정을 원활히 진행하며, 강사와 학생 모두 효율적으로 수업을 운영하고 참여할 수 있습니다.
안정적이고 확장 가능한 시스템 제공 OpenSearch를 활용한 빠른 데이터 검색, 대기열 시스템으로 높은 트래픽 상황에서도 안정적 서비스 제공, Redis Stream으로 데이터 유실을 방지하며, MSA 환경을 기반으로 확장성과 신뢰성을 확보합니다. 또한, 카프카를 사용하여 대용량 채팅 환경에서도 안정적인 메시지 전송을 보장합니다.

SwithT 프로젝트는 통합적인 기능 제공을 통해 교육의 접근성과 효율성을 극대화하며, 사용자 경험을 개선하고 교육 시장의 다양성을 확장합니다.


🛠 기술 스택

DB

mariadb redis amazons3

BACKEND

Java Spring WebSocket

FRONTEND

Vue.js vuetify

TOOLS

Notion Git GitHub figma

DEVOPS


🗓️ Work Breakdown Structure - WBS 상세보기

WBS_10-25


📝 요구사항정의서 - 요구사항 정의서 상세보기

1 2


📋 ERD - ERD 상세보기


🎡 시스템아키텍처 및 CI/CD

시스템 아키텍처

AWS 환경


백엔드

백엔드


프론트엔드

프론트엔드2


테스트 결과서

(과외) 과외강사와 학생 채팅(강사가 학생한테 승인전에 채팅을 건다.)

튜터 튜티 채팅 과외강사와 학생 채팅

결제 요청 및 알림 기능

결제 요청 및 알림 기능 결제 요청 및 알림 기능

알람 및 결제

알람 및 결제 알람 및 결제

📝 프로그램 사양서 - 프로그램 사양서 상세보기

프로그램 사양서(1)_10-25 프로그램 사양서(2)_10-25


📝 API 단위 테스트 결과서 - API 단위 테스트 결과서 상세보기

image image image image image


📝 화면 설계서 - 화면 설계서 상세보기

image image image image


📝UI/UX 단위 테스트 결과서

회원 가입 및 로그인 화면

로그인 화면 진입 & 탭 전환

로그인 화면 진입 탭 전환 TUTOR 회원가입 TUTEE 회원가입 및 로그인

관리자 로그안

어드민로그인


소셜 로그인 및 회원가입

구글 로그인 화면 진입 & 탭 전환

카카오 소셜 로그인


카카오 로그인

카카오 소셜 로그인


회원 정보 수정 기능

프로필 이미지 수정, 회원정보 수정

프로필이미지수정 회원정보수정


튜터 강의 개설

튜터 강의 개설 튜터 강의 개설

튜터 과외 개설

튜터 과외 개설 튜터 과외 개설

어드민 강의 과외 승인

어드민 강의 과외 승인 어드민 강의 과외 승인

튜터의 개설된 강의 과외 리스트 확인 및 해당 그룹 확인

튜터의 개설된 강의 과외 리스트 확인 및 해당 그룹 확인 어드민 강의 과외 승인

튜터의 강의 그룹 수정

튜터의 강의 그룹 수정 튜터의 강의 그룹 수정

튜티의 과외 신청 및 튜터의 신청 승인 및 튜티의 결제 알림 확인

튜티의 과외 신청 튜티의 과외 신청 및 튜터의 신청 승인 및 튜티의 결제 알림 확인

튜터 신청 승인 튜티의 과외 신청 및 튜터의 신청 승인 및 튜티의 결제 알림 확인

튜터 신청 승인 및 튜티 결제 튜티의 과외 신청 및 튜터의 신청 승인 및 튜티의 결제 알림 확인

튜터의 과제 생성/조회/수정/삭제

튜터의 과제 생성 튜터의 과제 생성

튜터의 과제 수정 튜터의 과제 수정

튜터의 과제 삭제 튜터의 과제 삭제

튜터의 게시글 생성/조회/수정/삭제

튜터의 게시글 생성 튜터의 게시글 생성

튜터의 게시글 수정 튜터의 게시글 수정

튜터의 게시글 삭제 튜터의 게시글 삭제

댓글 생성/조회/수정/삭제

댓글 생성/조회/수정/삭제

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages