Capstone Design

이하얀·2024년 3월 4일
0

🎓 캡스톤디자인

목록 보기
1/6

캡스톤 디자인 관련 내용 정리

JJ-Club

대학교 모임 정보를 한눈에, JJ-Club


주제

  • 대학 내 동아리/스터디 모집 및 활동 관리 앱 JJ-Club 개발

과제 필요성 및 기대 효과

  • 대학 내 동아리 참여를 위한 정보 부족
  • 정보 공유 공간 부재
  • 스터디 홍보, 가입, 활동 비활성화
  • 자발적인 기획 및 참여의 어려움

과제 목표 및 주요 내용

  • 모임 통합 시스템 구축
    • 대학 내 동아리 및 스터디그룹(이하 모임) 등의 기획, 구성, 운영 등의 활성화를 위한 관리 도구 개발 및 운영 시스템 구축
  • 정보 및 가입 시스템 연계
    • 대학 내 모임 정보 제공 및 가입 시스템 연계
  • 모임 추천
    • MBTI 테스트를 활용한 개인의 성향 파악 및 적합한 모임 추천

차별화 전략

1. 전주대 학생만을 위한 앱

  • 캠퍼스픽, 에브리타임 : 전국 대학생 대상 앱 -> 대학 내 모임 관련 정보 공유가 어려움.

  • 같은 대학 내 구성원들이 참여하는 앱 개발 필요 -> 전주대생 인증과정을 고려한 앱 개발

2. 편리한 채팅 기능

  • 소모임 앱: 채팅방에 이미지 및 파일 업로드 불가

  • 채팅방 내 이미지 및 파일 업로드 기능을 제공 -> 타 앱에서 채팅 기능을 사용해야 하는 번거로움 감소

3. 채팅 시 금지어 필터링

  • 채팅 내 시스템 : 서로의 관심사나 학업 관련 주제 등에 대해 이야기를 나누는 것이 일반적
    • 그러나, 부적절한 말을 꺼내거나 비속어를 사용해 불편한 분위기가 형성되는 경우가 많음.

  • 금지어 필터링 기능 제공 -> 불편한 분위기 형성을 미연에 방지

4. MBTI 추천 기능

  • 모임 선택에 대한 문제 해결 : 자신에게 잘 맞는 모임이 무엇인지 판단하기 어려워하는 학생들이 많음.
    • 특히, 새내기의 경우 즉흥적 모임 선택으로 지속적으로 내실있는 모임 활동을 하지 못해, 가입 및 탈퇴를 반복하는 경우 빈번

  • 개인 성향 파악 수단인 MBTI 검사 기반 모임 추천 기능 제공
    1) 모임 선택에 대한 재미요소
    2) 선택 자체에 어려움을 겪는 학생들에게 가이드 제시
  • 성향 기반 필터링
  • 빈번히 가입 및 탈퇴를 하는 현상 개선

설계

고려사항

  • 학생 이메일 인증
    • 이메일로 전주대학생 인증 후 회원가입 가능

  • 채팅 기본 기능 보완
    • 채팅방 내 이미지 업로드 가능

  • 채팅 중 금지어
    • 채팅 시 사용할 수 없는 금지어 리스트를 통해 금지어 필터링

  • MBTI 검사
    • 12개의 검사 문항을 통한 성향 검사 및 모임 추천

DB 설계


구현 환경

Front-end

  • Android Studio, Retrofit, Firebase

Back-end

  • IntelliJ IDEA, SpringBoot, MySQL, Postman

공통

  • 클라이언트-서버 아키텍처

    • 앱 : 장치에서 실행되는 클라이언트 역할, 중앙 서버와 통신하기 위해 네트워크 연결에 의존
  • API 서비스 활용

    • 클라이언트와 서버 간의 원활한 데이터 교환 및 통합을 위해 사용
  • DBMS 사용

    • 사용자 프로필, 활동 데이터 및 기타 관련 정보를 저장하고 관리하기 위해 사용

주요 기능 구현

1. 가입 페이지

  • 이메일 인증

    • 이메일 인증을 통한 전주대학교 이메일(@jj.ac.kr)을 가진 학생만 앱을 사용할 수 있도록 설정
    • 전주대 이메일로 가입 시 해당 이메일로 인증 링크 발송
  • 인증 후 회원 가입

    • 링크를 통해 인증 절차 구현
    • 이메일 인증 후 회원가입 페이지로 넘어갈 수 있음.
    • 회원가입 페이지 : 사용자의 닉네임, 전화번호, 비밀번호를 입력하고 '확인' 버튼 클릭 시 회원가입 완료

2. 메인 페이지

  • 메인 페이지 : 인기글, 최신글, 내 MBTI와 똑같은 모임
    • 내 MBTI와 똑같은 모임 : MBTI 검사를 완료한 사용자에 한해 해당 사용자와 똑같은 MBTI를 가진 모임 출력
    • 인기글 - 게시글의 좋아요 순서로 출력
    • 최신글 - 게시글의 최신 발행일 순으로 출력

3. 홍보글 상세 페이지

  • 전체, 캘린더

    • 모임에 대한 소개, 면접 유무, 모집 기간, 모집인원 정보 노출하는 홍보글 노출 페이지
    • 모임 일정을 기록할 수 있는 캘린더 기능
  • 채팅

    • 팀원들 간 채팅이 가능한 채팅창으로 구성
    • 금지어 필터링 기능을 포함해 욕설 및 타인을 비방하는 단어 사용 시 해당 단어는 ' * '로 필터링 처리 후 전송

4. 프로필 페이지

  • 사용자 이름, MBTI 편집이 가능한 '프로필 편집' 기능이 있음.
  • 사용자가 찜한 게시글, 작성한 게시글, 본인이 보낸 모임 가입 신청서, 받은 신청서 확인 가능
  • 로그아웃, 회원탈퇴도 프로필 페이지를 통해 가능

5. MBTI 검사 페이지

  • 12개의 질문을 통해 간단한 MBTI 검사 진행 -> 사용자의 MBTI 결과 출력
    • 해당 MBTI를 토대로 메인 페이지에서 '사용자와 똑같은 MBTI를 가진 모임' 출력

개인별 구현과제 자체평가

  • 구현 부분만 부분적으로 소개




과제 수행 내용 요약

  • Frontend

    • 프론트팀은 retrofit, filter 참고 자료를 공유해 각제 개인 과제 진행
    • 동시에 안드로이드 스튜디오를 통한 로그인, 회원가입, 메인페이지, 홍보글 작성, 노출, 내 모임, 프로필 XML 완성하는 팀 공통 과제도 같이 수행
    • 일주일에 1번씩 회의 진행: 진행 상황 공유, 개인별 개발 오류 사항 논의 및 해결
    • 백엔드에서 API를 일부 전달하지 못해 XML 파일과 간단한 이벤트 구현까지 완료
  • Backend

    • 백엔드팀은 API URL패턴 작성 후 각 기능에 대해 크게 회원 관리, MBTI, 글 작성으로 API 분배
    • ERD 참고하여 회원관리 테이블은 다 같이 작성해두고, 프론트 팀과 협업해 회원관리(회원가입, 이메일인증, 로그인/아웃) 페이지 테스트까지만 완료
    • 현재 API는 회원관리, MBTI, 채팅 API만 완성
    • 만나기 어려운 상황을 고려해 노션의 'BackLog' 페이지를 작성해 각 API 관련 자료들과 코드를 서로 공유하며 진행 상황 실시간 파악
    • 프론트 팀에 모든 API를 전달하지 못해 앱의 원활한 작동은 어려운 상태

추후 보완 내용 및 향후 계획

공통

1) 관리자 계정

  • 현재 관리자용 계정 X
    -> 악성 유저의 계정 정지 및 차단 불가 & 모임 앱과 관련없는 홍보 게시글 또한 관리자가 임의 삭제 불가
  • 앱 관리에 어려움이 따를 수 있어 향후 관리자용 계정을 구현하는 것이 필요

2) 게시글 끌어올리기 기능

  • 사용자가 작성한 글은 다른 글에 묻힐 수 있어 '끌어올리기' 기능으로 글을 최상단에 노출시킬 수 있도록 하는 기능 구현 필요

3) 사용자 권한 부여

  • 모임을 만든 사용자에게 권한 부여 -> 모임 관리할 수 있도록 하는 기능 구현 필요
  • 권한을 받은 사용자 -> 모임 가입원에 한정해 활동이 적다고 판단되는 사용자 대상 가입 철회가 가능하도록 구현 가능

Frontend

  • 이메일 인증, 로그인, 회원가입, 사용자의 입력 데이터가 DB에 저장되는 것(서버 API 없이 실행할 경우)
  • 홍보글 상세 페이지 내의 채팅, 캘린더, 게시판 기능 구현

Backend

  • 서버의 모든 API가 하나로 연결되어 있는 만큼, 완성하지 못한 글 작성 API와 필터 관련 API를 개발 완료
  • 이미 완성되었지만 보완이 필요한 기존 API 역시 수정 예정
  • 이를 통해 프론트 팀에 성공적으로 API를 전달하여 앱이 API를 기반으로 구동될 수 있도록 하는 것
profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글