Skip to content

GASIP-PROJECT/gasip-backend

Repository files navigation

GASIP : 가천대학교 재학생 대상 가천대 교수님 익명 리뷰 서비스


image

�logo

⭐️ 앱 다운로드 링크

다운로드 링크 - 현재 아이폰만 가능


🎥 앱 데모 영상

video


💡 프로젝트 주제

  • 익명의 가천대학교 교수님 및 강의 리뷰 서비스
  • 교수님에 대한 학생들의 진솔한 평가 공유 및 자유로운 피드 작성이 가능한 모바일 플랫폼 개발

🏗 아키텍처

image


📝 프로젝트 개요

  • [목적] 사용자가 특정 교수에 대한 정보와 평가를 한눈에 파악함으로서 수강신청 시 고려할 정보를 온전히 얻도록 함
  • [배경] 수강신청/대학원 지도 교수 선택 등 교수님에 대한 정보가 필요한 상황에서 교수관련 정보 부족으로 올바른 선택 불가

📝 프로젝트 목표

  • 가천대학교 학생 사이에서 지속적으로 사용되는 커뮤니티 앱 개발 (일 평균 10명 이상)
  • 서버 운영 비용 최소화 (AWS 청구서 기준 월 3만원 이하)
  • 사용자 초기 접근성 및 인지도 강화

🚀 프로젝트 인원 및 기간

  • 개발 인원: FE 2명 & BE 2명 & 디자인 1명
  • 프로젝트 기간: 23.08.01 ~ 운영중

⭐️ 핵심 기능

❗️강조하고 싶은 기능!


회원

회원 가입을 통해 각자 고유의 아이디를 생성하여 로그인을 진행한다.
회원 가입 시 가천대학교 이메일로 인증번호를 인증한 사람만 회원으로 가입할 수 있다.
JWT 토큰을 이용하여 인증,인가를 진행하며 인가 시간이 초과한 경우 재로그인을 해야 한다.
아이디와,비밀번호를 통하여 인증을 진행하며 일치하지 않을 경우 서비스 사용을 할 수 없다.
유저 Block을 통해 특정 유저를 차단할 수 있다.
회원 가입시 회원의 비밀번호는 암호화하여 DB에 저장한다.

마이페이지

사용자 별 작성 글에 대한 리스트를 확인할 수 있다.
닉네임 변경을 할 수 있다.
비밀번호 변경을 할 수 있다.
로그아웃 및 회원탈퇴를 할 수 있다.
문의하기를 클릭해 서비스 공식 카카오톡 계정에 문의할 수 있다.

게시글

사용자는 전체 피드 또는 특정 교수에 대한 피드를 작성할 수 있다.
사용자는 다른 사람이 작성한 피드를 제한없이 확인하고 조회할 수 있다.
사용자가 작성한 글이 좋아요를 5개 이상 받는 경우, 인기글로 분류된다.
사용자는 본인이 작성한 게시글을 수정하거나 삭제할 수 있다.
사용자가 특정 게시글을 조회할 경우, 조회수가 증가한다.
단, 사용자가 5분 이내 특정 게시글을 재조회 시 조회수는 증가하지 않는다.
동시에 여러 사용자가 게시글을 조회할 경우, 동시성이 보장된다.
사용자가 작성한 게시글이 신고 누적횟수 5회를 넘기는 경우, 필터링 되어 노출되지 않는다.
차단한 사용자의 게시글은 필터링 되어 노출되지 않는다.
사용자가 탈퇴해도 게시글은 보존된다.

교수

사용자는 특정 교수 페이지에 집근하여 교수 기본 정보를 확인할 수 있다.
사용자는 교수 이름을 통해 교수를 검색할 수 있다.

좋아요

사용자는 특정 게시글, 댓글에 대해 좋아요를 등록할 수 있다.
사용자는 기존에 등록한 좋아요를 취소할 수 있다.
동시에 여러 사용자가 특정 게시글 좋아요를 누를 경우, 동시성이 보장된다.

댓글

사용자는 특정 게시글에 댓글을 작성할 수 있다.
사용자는 다른 사용자가 작성한 댓글을 제한없이 조회할 수 있다.
사용자는 자신이 작성한 댓글을 수정하거나 삭제할 수 있다.
사용자가 탈퇴해도 댓글은 보존된다.
댓글이 삭제될 경우, 하위 대댓글 또한 삭제된다.
대댓글이 삭제될 경우, 상위 댓글은 삭제되지 않는다.
사용자가 작성한 댓글이 신고 누적횟수 5회를 넘기는 경우, 필터링 되어 노출되지 않는다.

평점

사용자는 특정 교수에 대한 평점을 등록할 수 있다.
사용자는 기존 등록한 평점을 수정할 수 있다.
사용자는 특정 교수에 대한 평균 평점을 조회할 수 있다.
사용자는 본인이 해당 교수에 대해 평점을 등록했는지 여부를 확인할 수 있다.

검색

사용자는 특정 교수 이름으로 교수를 검색할 수 있다.
사용자는 특정 학과 이름으로 학과를 검색할 수 있다.
사용자는 게시글 내용으로 게시글을 검색할 수 있다.


⚙️ 프로젝트 세팅

  1. 자바 버전 : 17
  2. 스프링부트 버전 : 3.1.4
  3. 빌드 & 빌드 도구 : Gradle
  4. Git 브랜치 전략 : Feature Branch → Develop Branch → Stage Branch(검증) → Main Branch(배포)

🛠️ 기술 스택

Framework

springboot springsecurity

DB

mysql redis

Library

JPA queryDSL Lombok jwt

Communication

notion discord swagger

Server

ec2 rds s3 route53 loadBalancer codeDeploy elasticcache Jmeter


🧑‍🤝‍🧑 조원 & 역할

이름 역할
정혜민 회원 도메인 개발, 게시글 도메인 개발, 댓글 도메인 개발, 교수 도메인 개발, 평점 도메인 개발, 서버와 DevOps 설정관리, 디스코드 웹훅, 피그마 와이어프레임 초안 작성, 서비스 기획
김지훈 검색 도메인 개발, 게시글 도메인 개발, 댓글 도메인 개발, 좋아요 도메인 개발, 교수 도메인 개발, 카테고리 도메인 개발, 신고하기 도메인 개발, 조회 및 검색 성능 최적화, 디스코드 웹훅, 서버와 DevOps 설정관리, 서비스 기획

📐 ERD 설계도

image