/PickMen_App

성적표 인증을 기반으로 한 멘토링 앱 'PickMen'

Primary LanguageJavaScript

PickMen


❤️ 개요

PickMen은 모바일 앱으로 같은 대학 내에서 멘토와 멘티를 매칭시켜주는 멘토링 매칭 플랫폼이다.

신입생과 저학년 대학생들은 전공 지식과 학교 생활에 대해 알고 싶은데, 물어볼 데가 없거나 정보를 얻을 주체가 동아리나 소학회에만 한정되어 있다. 이를 위해 멘토링 프로그램이 존재하지만, 실제 참여율은 저조하고 멘토링을 의무적으로 참여해야하는 등 부담을 가질 수 있다.

PickMen은 "이러한 멘토링을 모바일 앱으로 보다 쉽고, 자율적으로 제공하면 어떨까?" 라는 고민에서 시작되었다.

멘티는 멘토들의 프로필 리스트로부터 멘토를 선택할 수 있고, 멘토와의 채팅을 통해 대학생들이 원하는 전공 지식 및 학교 생활 등에 대한 정보를 얻을 수 있다.그리고 찾는 멘토가 없다면 원하는 정보를 얻기 위해 구인 게시판에서 멘토를 구할 수 있다.

🧡 기대효과

PickMen은 멘토링 서비스를 앱으로 제공하여 멘토링에 접근하는 것에 대한 부담감을 줄인다.
그리고 성적 인증된 멘토를 통한 멘토링 서비스를 통해 대학생들의 전반적인 학습 수준 향상을 기대할 수 있다.
또한, 같은 학교 지역 내 멘토들을 선택할 수 있어 학교, 동네 내에서 유대감 형성 및 학습 효과 기대할 수 있다.

$ \Rightarrow $ 같은 학교, 인근 지역 내의 성적표 인증을 바탕으로 한 멘토링 매칭 플랫폼을 형성한다

💛 시스템 구조

  • React-Native

    • Front-end client 구현

  • Spring-Boot

    • Back-end server 구현

  • SockJS

    • 실시간 통신, 채팅을 위해 사용

  • Google Cloud Vision OCR API

    • 이미지에서 텍스트 추출
    • 성적표 인증을 위해 사용

  • Google Maps API

    • 지역에 따른 멘토링 서비스를 위해 사용

  • Firebase

    • 채팅 알림을 위해 사용

💚 개발 도구 및 버전

  • react-native-cli

  • react-native

  • npm

  • spring-boot

  • mysql


💙 외부 API

🤎 실행하는데 필요한 프로그램

  • Java SDK

    • 앞서 설명할 Emulator와 Native Project를 위한 필수 요소입니다.
    • https://www.oracle.com/java/technologies/downloads/ 에서 쉽게 다운로드 가능합니다.
    • 최신 버전은 Issue가 있으니 11 시리즈 버전을 사용하는 것을 권장합니다.

  • Java 환경 변수 설정법

    • Java SDK를 설치하셨으면 환경 변수 설정이 필요합니다.

      • windows 키 - 시스템 환경 변수 편집 - 환경 변수를 들어갑니다.
      • 새 시스템 변수 만들기를 누르시고 다음과 같이 이름을 JAVA_HOME 경로는 SDK가 설치된 경로입니다.

  • Android Studio

    • Native Project를 실행하는데 있어서 필요한 Emulator를 위한 Tool

    • 설치하시면 Tools -> SDK Manager를 클릭합니다.

    • SDK Tools 탭에서 Android Emulator의 버전(최신 or 10)을 선택하시고 OK를 클릭합니다.

    • Tools -> AVD Manager를 통해 새로운 Virtual Device를 만듭니다.

  • Node.js 입니다.
  • Backend에는 전혀 필요없지만 APP 실행을 위한 Metro에 사용됩니다.
  • https://nodejs.org/ko/ 로 가시면 쉽게 다운로드가 가능합니다.

💜 실행 방법

  • Clone the repository
git clone https://github.com/08-PickMen/PickMen_App.git
cd Front
  • Install with npm
npm install
  • Run (Front)
react-native run-android
  • Build (Backend)
cd Backend/backend
./mvnw build
  • Run (Backend)
./mvnw bootRun

💗 구현 기능

❓ 멘티

1. 회원가입
  • 회원가입 시 멘티 선택
  • 본인의 학교를 선택
  • 전공 선택 및 관심 강의 분야 2개 선택
  • 학교 이메일로 인증 진행
  • 닉네임 설정 & 프로필 이미지 설정 & 위치 설정

    • 멘티는 성적표를 인증하지 않는다.

    • 멘티의 위치를 Google Maps로 설정할 수 있다.

  • 아이디와 비밀번호 설정
2. 프로필 수정
  • 프로필 수정

    • 로그인 후 내 프로필 탭을 누르면 내 프로필 정보가 나온다.

    • 하단의 Personal Information Setting을 누르면 프로필 수정 창으로 이동한다.

    • 프로필은 닉네임, 프로필 이미지, 관심 강의를 수정할 수 있다.

3. 멘토 탐색
3.1. 멘토 프로필 탐색
  • 멘토 프로필 리스트 확인

    • 기본적으로 멘토들은 로그인한 사용자의 관심 강의 분야 -> 전공 -> 멘토 평점 순으로 추천되어 보여진다.
  • 정렬 필터링을 통해 원하는 순으로 멘토들을 정렬할 수 있다.

    • 전공 별 정렬
    • 강의 별 정렬
    • 평점 별 정렬
  • 멘토 프로필 정보

  • 멘토의 프로필 이미지 & 닉네임 & 전공 & 전공 강의 분야 리스트 를 보여준다.

  • 멘토 상세 프로필 정보

- 멘토의 프로필을 선택하면 프로필 상세 페이지로 이동한다.

- 멘토의 소개와 후기를 볼 수 있다.
3.2. 멘티 구인 게시글 탐색 & 멘토 구인 게시글 작성
  • 게시판 탭으로 이동

    • [멘티구함] 태그가 붙은 게시글을 검색하여 멘토와 연결 가능
    • 원하는 멘토가 없으면 멘토 구인 게시글을 작성 가능

    • 게시물은 수정 및 삭제가 가능하다.

      • 게시글 수정
      • 게시글 삭제
4. 멘토와의 채팅
  • 멘토 상세 프로필 페이지에서 멘토 연결하기 선택

  • 채팅방이 생성되고 채팅방 리스트 화면으로 이동

  • 채팅방에 입장하여 멘토와 채팅으로 소통

5. 멘토 평가
  • 멘토와의 채팅방에서 평가하기 선택

  • 평점과 후기글 작성

    • 후기는 채팅방당 1번만 작성 가능하다.

❗ 멘토

1. 회원가입
  • 회원가입 시 멘토 선택
  • 본인의 학교를 선택
  • 전공 선택 및 전문 전공 강의 분야 2개 선택
  • 멘토 프로필 -> 자기소개 & 거주지 설정 & 멘토링 내용 입력

    • 거주지는 위치를 Google Maps로 설정할 수 있다.
  • 학교 이메일로 인증 진행
  • 닉네임 설정 & 성적표 인증 & 프로필 이미지 설정

    • 성적표는 Google Cloud Vision API의 OCR을 이용하여 총 학점을 추출한다.

    • 멘토는 반드시 성적표로 성적을 인증해야 하며, 총 학점이 일정 학점(3.8) 이상이 되어야 가입이 진행된다.

  • 아이디와 비밀번호 설정
2. 프로필 수정
  • 프로필 수정

    • 로그인 후 내 프로필 탭을 누르면 내 프로필 정보가 나온다.

    • 하단의 Personal Information Setting을 누르면 프로필 수정 창으로 이동한다.

    • 멘토의 경우 닉네임, 프로필 이미지, 전문 강의, 그리고 상세 정보 설정을 들어가면 멘토링 내용과 멘토 소개를 입력받아서 수정이 가능하다.

3. 멘티 탐색
3.1. 멘토 구인 게시글 탐색 & 멘티 구인 게시글 작성
  • 게시판 탭으로 이동
  • [멘토구함] 태그가 붙은 게시글을 검색하여 멘티와 연결 가능
  • 원하는 멘티가 없으면 멘티 구인 게시글을 작성 가능
  • 게시글 수정
  • 게시글 삭제

    • 게시물은 수정 및 삭제가 가능하다.
4. 멘티와의 채팅
  • 작성한 멘티 구인 게시글에 작성된 멘티의 댓글 확인

  • 멘티 프로필을 눌러 채팅방 생성

  • 멘티와 채팅 진행


👍 Author


이름 Link to
편동혁 @HyukP
하종수 @jong02112004
심재철 @심재철
심규원 @kyuwon