Skip to content

kusitms-com/29th_Meetup_TeamF_UnivFit_Back

Repository files navigation

🎓 유니브핏

서비스 링크 : https://www.univ-fit.com

KakaoTalk_Photo_2024-05-01-02-03-21 002



🎓 유니브핏은 대학생을 위한 장학금 추천 및 관리 서비스입니다.

대학생을 위한 다양한 교외 장학금, 여러분은 내가 받을 수 있는 장학금을 찾아 혜택을 잘 누리고 계신가요?

대학생을 위한 장학금 추천·관리 서비스, ‘유니브핏’ 은 전반적인 장학금 지원과정을 돕습니다.
장학금 지원을 위해 필요한 수많은 정보와 지원 자격 부합여부를 쉽게 알아보고, 장학금 지원에 있어 필요한 모든 것을 더욱 간편하게 관리할 수 있습니다.


🕊️ 팀소개

팀명 : 맨동

KakaoTalk_Photo_2024-05-01-02-07-39

R&R

분야 이름 포지션
기획 홍가연 📈 PM, 플로우차트 제작, 유저리서치 구상 및 진행, 서비스 타겟층 정의, 기능 아이데이션
기획 김병진 📊 IA, 홍보용 인스타그램 계정 개설 및 운영, 유저리서치 구상 및 진행, 서비스 타겟층 정의, 기능 아이데이션
기획 이민영 📋 기획리드, 기능명세서 작성, 필드 리서치 및 데스크 리서치, 서비스 타겟층 정의, 기능 아이데이션
디자인 구름 🔐 디자인 리드, UX설계, UI 디자인
디자인 김윤서 📢 브랜딩 디자인, UI 디자인
개발 홍민서 🔦 프론트엔드 리드, Web 화면 UI 구현, 서버 연동
개발 차현수 💻 백엔드 리드, DB 및 API 구축, 서버 배포
개발 김영록 🖥️ 백엔드 리드, DB 및 API 구축, 서버 배포

🔎 목적 및 필요성

1. 목적

‘유니브핏’은 대학생의 장학금 전반적인 장학금 지원과정을 도와주는 서비스 입니다. 사용자가 지원 가능한 장학금을 매칭 해주는 것부터 일정 관리, 필요한 서류준비자소서 작성 까지 ! 장학금 지원의 모든 과정을 체계적으로 관리할 수 있도록 합니다.


2. 필요성

💸 대학생의 등록금과 생활비를 지원함으로써 학생들에게 경제적 안정을 주는 장학금

❔ 매년 국가와 기업이 주관하는 다양한 교외 장학금이 쏟아지는 상황 속에서 대학생의 장학금 수혜 현황은 어떨까요?


맨동은 대학생 161명을 대상으로 한 자체 유저리서치를 진행했습니다. 그 결과 교외 장학금의 존재를 알고 있는 대학생은 81.4%에 육박하는 반면, 실제로 교외 장학금을 지원해 본 비율은 41.6%에 불과함을 확인했습니다.

❔ 장학금에 대한 인지가 직접적인 장학금 신청으로 이어지지 못하는 이유는 무엇일까요?

저희는 유저리서치를 통해 장학금 지원 시도 및 실제 지원 과정에서 페인 포인트를 도출할 수 있었습니다.


분산되어 있는 장학금 지원 관련 정보들

하나의 장학금을 지원하는 과정은 학교 홈페이지, SNS, 장학금 공고 홈페이지 등의 여러 플랫폼에서 장학금 공고를 찾는 것에서 시작됩니다. 이후에는 서류 준비를 위해 각각의 서류 발급 방법을 검색하고, 또 다시 여러 플랫폼에서 자소서 및 지원 후기까지 찾아봐야 합니다.

이처럼 장학금 지원과 관련된 정보가 모여있는 플랫폼의 부재는 장학금 지원 과정의 피로도를 높이고 지원률 하락을 초래합니다.

💡 따라서, 장학금 지원에 필요한 부가 단계를 간결하게 해야 합니다. 장학금 지원에 있어 실제 지원 페이지 외 부가적으로 참고하고 접속해야 하는 자료와 페이지를 최소화 해야 한다는 것입니다. 이는 관련 정보가 한 곳에 모인 플랫폼의 필요성으로 이어집니다.



장학금 지원 시, 스스로 조건 부합여부를 일일이 따져봐야하는 과정의 번거로움

장학금 지원을 위해서는 소득분위, 학점, 중복 수혜 가능 여부 등 여러 지원 조건들을 확인해야 합니다. 장학금 공고 속 세부적인 지원 조건을 확인하기 전까지는 나의 지원 가능 여부를 알 수 없습니다. 또한, 복잡하게 제시된 조건들을 이해하고, 내 조건과의 부합여부를 확인하는 과정은 많은 에너지를 소비하게 합니다.

💡 장학금에서 요구하는 지원 조건과 사용자의 조건 간의 부합여부를 확인하는 과정을 편리하고, 간결하게 만들어야 합니다.



지원 기간을 놓치는 장학금들

장학금의 지원 마감일을 관리하지 못해, 지원 기회를 놓치는 경우가 있습니다.

💡 장학금 일정 관리를 위한 플랫폼과 마감일 리마인더의 역할을 해줄 도구가 필요합니다.



장학금 지원 시 필요한 자기소개서 작성 및 관리의 어려움

장학금 지원을 위한 자기소개서 작성 시, 장학금 주최 재단의 홈페이지에 접속해 기업 이념 및 인재상을 확인하는 경우가 빈번하게 존재합니다. 또한, 이후에는 그간 작성했던 장학금 지원용 자소서들을 별도로 관리해야하는 번거로움이 발생합니다.

💡 보다 질 높은 자기소개서 작성을 위해 주최 재단에 관한 정보 제공이 필요합니다. 더불어 자기소개서 관리가 더욱 원활하게 이뤄지도록 도와줄 필요성도 보입니다.




📊 리서치 및 시장조사

1. 시장조사

맨동은 한국장학협회, 대학알리미, 한국장학재단, 국가통계포털의 데이터를 활용해 장학금 시장에 관한 조사를 진행했습니다.

1️⃣ 부담되는 대학생의 등록금

2022년 기준, 대학생의 1인 당 연평균 등록금은 약 676.3만원으로 나타났습니다. 등록금 이외 생활하는 데 필요한 최소 생활비를 월 80만원으로 가정하고, 등록금과 생활비를 합산하여 재학생의 연간 생활비를 계산해보면 인당 약 1320만원 정도로 추정할 수 있습니다. 그러나 고정 수입이 없는 대학생들에게 이러한 금액은 큰 부담으로 다가오기 쉽습니다. 더불어 2021년도 1학기 학자금 대출 총액은 1.48조원으로 나타났고, 학기당 등록금과 생활비 조달을 위해 학자금 대출을 받는 학생 수도 약 40만 명에 육박합니다.

2️⃣ 다양한 장학금 정책

이러한 상황 속에서 대학생들이 대학생활에 있어 등록금 부담은 덜고, 학업에 집중할 수 있도록 국가 차원에서도 다양한 장학금 정책을 위해 힘쓰고 있습니다. 구체적으로 2020년 기준 대학교의 장학금 총액은 5조원, 전문대학의 장학금 총액은 1.5조원으로 나타났습니다.

chart-2


다양한 장학금 제도 속 공급자별 장학금 비율을 살펴보겠습니다. 교외 장학금 (국가장학금, 장학재단/기업/사설기관의 장학금)은 연간 약 4.2조원 규모로, 전체 장학금의 64% 비중을 차지합니다. 또한 대학 내 자체적으로 운영되는 교내 장학금 제도는 연간 약 2.3조원 규모로, 전체 장학금의 36% 비중을 차지하고 있습니다.

chart-3

3️⃣ 장학금 수혜, 잘 이뤄지고 있는가?

그렇다면, 대학생들이 다양한 장학금 제도를 실질적으로 잘 활용하고 있을까요?

등록금 마련 방법에 대한 설문 결과에 따르면 등록금을 부모님(가족)의 도움으로 마련하는 대학생의 비율이 62.2%로 가장 높았고, 장학금이 24.8%, 학자금 대출 7.3%가 뒤를 이었습니다.

chart-4

반면, 대학별 교내장학금 뿐만 아니라, 국가 및 장학재단, 기업에서 운영 중인 다양한 장학금 제도가 있음에도 불구하고 장학금을 통해 등록금을 마련하는 비율은 24.8%로 높지 않습니다. 또한 유저 리서치 진행 결과, 교외장학금의 존재를 알고 있는 대학생의 비율은 81.4%로 꽤 높은 수치로 나타났지만, 실제로 교외장학금을 신청해본 비율은 41.6%로 절반을 채 넘기지 못했습니다. 이에 더해 장학금 주최 재단이 지원자 미달로 인해 장학금 지원기간을 연장하는 경우도 어렵지 않게 볼 수 있습니다.

즉, 이미 다양한 장학금 제도가 존재함에도 불구하고, 여러 불편함과 어려움으로 인해 대학생들은 장학제도를 적극 활용하지 못하고 있었고, 특히 교외장학금의 경우 교내장학금보다 더 큰 적극성을 필요로 하기 때문에 대학생들에게 높은 진입장벽을 형성하고 있습니다.

💡 따라서, 맨동은 ‘대학생을 위한 장학금 추천·관리 서비스, 유니브핏’ 을 통해 교외장학금의 전반적인 지원과정을 서포트 하고, 장학금 관리 기능 제공하여 궁극적으로 대학생활 내 금전적 비용의 부담을 줄여주고자 합니다.


2. 경쟁사 분석

세 가지 서비스를 유니브핏의 경쟁사이자 유사 서비스로 선정하였고, 표를 통해 세 서비스를 비교·분석했습니다.

1) 맞춤형 정책 추천 서비스, 웰로

2) 내가 지원할 수 있는 장학금을 직접 찾지 않아도 카톡으로 받아볼 수 있는 서비스 ,스칼라집

3) 전국의 장학금과 공모전 정보를 제공하는 사회적 기업, 드림스폰

기준/서비스명 웰로 스칼라집 드림스폰
타겟 전국민 (사회적 서비스의 주요 대상자들) 국가장학금 외에는 장학금을 받고 있지 않는 대학생 대학생
목적 85%의 국민들은 정책 대상자임에도 자신이 대상자인지 모르거나, 신청내용이 복잡하여 정책 혜택을 누리지 못하고 있음. 이에 따라 개인 프로필 설정을 통해 개개인에게 딱 맞는 정책을 추천해주고자 함. 나에게 지원할 수 있는 장학금인지 알아보기 어려워했던 대학생들에게, 장학금 신청 시기를 놓쳐왔던 대학생들에게 본인에게 꼭 맞는 장학금 정보만을 알림톡으로 전달 대학생에게 전국의 장학정보+공모전 정보를 수집 및 분류하여 제공하고, 자신의 가치관을 담은 장학금을 누구나 만들 수 있도록 하여 의미있는 사회기여 활동을 할 수 있도록 함.
웹/앱 형태 앱 중심 (+웹)
sns 활용 여부 인스타그램 콘텐츠 업로드 인스타그램 콘텐츠 업로드 인스타그램 콘텐츠 업로드
내용 범위 정책 외부장학금, 교내장학금 외부장학금, 공모전 정보
대표 기능 _ 필터 기반 맞춤 정책 (가족 프로필 등록 가능) _ 동네소식,정책소식 _ 정책알림 _ 정책소식 (정책 이야기 코너) _ 장학정보 알림톡 _ 스칼라집 전자책 _ 일반장학금 정보 제공 _ 장학금 디자인(드림장학) * 장학생들과 기부자들의 커뮤니티
수익 구조 정부,지자체의 정책 홍보예산 (이용자 무료) 유료이용권 (이용자 구독제) 상세내용 기재 및 추가홍보 유료화 (이용자 무료)
장점 _ 나 뿐만 아니라, 부모님이 필요한 정보까지도 대신 확인할 수 있고, 대리 신청 가능 _ 동네 소식을 빠르게 접할 수 있는 창구가 되어주기도 함. * 제휴/고객사가 중앙부처부터 공공, 금융기관, 대학교 등 다양해 한 서비스 안에서 빠르게 일처리 가능 _ 직접 정보를 찾아보지 않아도, 자신에게 적합한 새로운 장학금이 올라올 때마다 알림으로 받아볼 수 있음 _ 밀도 있는 장학금 관련 정보들을 (ex. 한국장학재단 활용법 등) 소장할 수 있음. _ 국내 유일 ‘장학금 분야’ 사회적 기업이기 때문에 이 서비스를 통해 대학생 타겟 마케팅을 진행하는 경우 긍정적 이미지를 제고할 수 있다는 점 어필 가능 _ 장학금 솔루션 제공 * 장학생들과 기부자들 간의 커뮤니티를 운영하여 유일무이한 소통의 장을 만들음.
한계점 기업이나 다른 민간기관에서 제공되는 지원금들은 포함되어있지 않으며, 전국민이 대상인만큼 나에게 핏하지 않은 정보도 많음. 알림톡 발송을 통해 정보 제공의 역할만을 할 뿐, 그 이후의 신청/진행과정에는 영향을 주지 못함. 아쉬운 UI/UX, 사회적 기업인만큼 대학생들에게 핏한 정보를 제공하는 것보다는 사회 기여 활동의 공간을 만드는 것에 조금 더 집중되어 있음. (맞춤장학금 개발 중)

3. 목표 시장

TAM SAM SOM
국내 대학교 재적 학생 수 교외장학금에 관심이 있는 대학생의 수 서비스 이용 시 교외장학금 신청 의향이 있는 대학생의 수
약 270만 명 약 220만 명 약 212만 명

TAM

국내 대학교 재적 학생 수

2023년 교육기본통계 기준 고등교육기관 재적학생 수 - 대학원 재적학생 수 = 약 270만명

SAM

교외장학금에 관심이 있는 대학생의 수

TAM x 81.3% (유저리서치 결과 교외장학금의 존재를 알고 있는 대학생 수) = 약 220만명

SOM

서비스 이용 시 교외장학금 신청 의향이 있는 대학생의 수

SAM x 96.8% (유저리서치 결과 서비스 이용 시 교외 장학금 신청 의향이 있는 대학생의 수) = 약 212만

목표시장


4. 유저 리서치

맨동은 대학생을 대상으로 진행한 설문조사와 인터뷰(2024/04/28, n=161)를 통해 장학금 지원과정에 관한 문제점과 인사이트를 파악할 수 있었습니다.


1) 가설(문제의식)에 대한 검증


장학금 신청 관련 정보들이 분산되어 있다.

chart-5

교외장학금 지원 경험이 있는 67명을 대상으로 한 해당 문항을 통해 장학금 지원과 관련된 정보를 얻는 방식이 다양하게 혼재하고 있다는 점을 알 수 있었습니다.

💡 장학금 지원과 관련된 정보들이 여러 군데로 분산되어 있다는 지점을 파악할 수 있습니다.


장학금 지원 시, 스스로 조건 부합여부를 일일이 따져봐야하는 과정이 번거롭다.

chart-6

교외장학금 지원 경험이 있는 67명을 대상으로 한 설문결과에 따르면, 자신의 조건이 장학금 지원 대상에 해당하는지 확인하는 과정이 복잡하다고 생각하는 비율이 62.7%로, 과반수 이상의 많은 이들이 해당 과정에서 불편함을 느끼고 있음을 알 수 있습니다.

💡 교외장학금 지원 경험이 있는 학생들이 자신이 장학금 지원 대상인지 지원조건 별 부합여부를 따져보는 데에 어려움을 겪고 있다는 것을 확인할 수 있습니다.


장학금 일정 관리가 어려워, 지원 기간을 놓치는 경우가 발생한다.

유저인터뷰를 통해 장학금 지원기간과 같은 일정 관리의 어려움에 대한 문제점을 파악할 수 있었습니다.

  • “장학금 마감기간을 그냥 생각만 하다가 종종 장학금 지원기간을 놓친 경험이 있어요”(23살/여/대학생)
  • ”장학금 지원기간이나 합격 날짜 등 관련된 일정관리가 한 번에 되는 서비스가 있으면 편할 것 같아요” (24살/여/대학생)

💡 인터뷰를 통해 장학금 지원기간을 놓치는 경우가 빈번히 발생하고, 장학금 일정 관리에 어려움을 겪고 있음을 확인했습니다.


장학금 지원 시 필요한 자소서를 작성하고 관리하는 데 있어 어려움을 느낀다.

장학금 지원 과정에서 심리적으로 가장 부담되는 부분은 자소서를 작성하고, 관리하는 것임을 알 수 있었습니다.

  • “자소서를 작성하려면 재단의 인재상과 미션 같은 정보도 파악해야 하고, 일일이 자소서 문항도 체크를 해야 하고 할 일이 많아요“ (24살/여/대학생)
  • ”하나의 공고에 대한 자소서를 작성할 때 여러 번에 걸쳐 수정하고, 다양한 버전의 자소서를 작성하게 되니까 관리하기가 복잡하고 어려워져요” (22살/여/대학생)

💡 장학금 지원 시 제출해야 하는 자기소개서를 작성하는 데 필요한 정보를 파악하고, 자소서를 관리하는 데에
어려움이 있다는 인사이트를 도출할 수 있습니다.


2) 유저의 니즈 파악


나에게 딱 맞는 장학금 추천에 대한 니즈

chart-7

설문에 참여한 161명 중 135명이 (80%이상) ‘자신에 맞는 장학금 추천’을 통한 도움을 받고 싶다고 응답했습니다.


장학금 지원 시 필요한 서류 관리의 어려움 존재

chart-8

교외 장학금 지원 경험이 있는 67명을 대상으로 한 설문결과에 따르면 과반수 이상(59.7%)의 인원이 제출 서류의 발급 방법을 알아보는 것에 불편함을 겪는다고 응답했습니다.


3) 최종 인사이트 도출

1️⃣ 장학금 지원 관련 정보들이 분산되어 있다. 이에 따라 ‘유니브핏’은 장학금 지원 관련 정보들을 한 곳에 모아주고, 장학금 지원에 필요한 부가단계를 간결하게 해주어야 한다.

2️⃣ 장학금에서 요구하는 지원 조건과 사용자 개개인의 조건 부합 여부를 판단하는 서비스를 제공해 사용자의 편리성을 증대시켜야 한다.

3️⃣ 장학금 일정 관리를 용이하게 해주고, 동시에 자소서 관리도 한번에 할 수 있는 기능을 제공해야 한다.

4️⃣ 장학금 지원 시 필요한 제출서류 관리의 어려움을 최소화해야 한다. 장학금 지원 시 필요한 각종 서류의 발급 방법을 제공하고, 효율적인 서류 관리를 도와 사용자의 편의성을 극대화시켜야한다.

👀 서비스 타겟층 정의

유니브핏의 목표 타겟입니다.

장학금 지원 경험이 있는 대학생 중 직접적으로 불편함을 느낀 사람을 1차 타겟으로 설정하고, 추후 장학금 지원 경험은 없지만 지원 의향이 있는 대학생으로 확장할 계획입니다.

분류 타겟 설정 관련 기능
1차 타겟 유저 장학금 지원 경험이 있고, 지원 과정에서 불편함을 느낀 적이 있는 대학생 ‘자기소개서 작성 및 관리’, ‘장학금 일정 관리’, ‘장학금 후기 탐색’ 기능을 통해 장학금 지원 과정의 효율성을 높이고 사용자의 번거로움을 최소화
2차 타겟 유저 장학금 지원 경험은 없지만 지원 의향을 가진 대학생 사용자가 지원 가능한 장학금 공고를 추천해줌으로써 장학금 지원의 장벽을 낮춰줌

💡 서비스 소개

1. 개요

대학생을 위한 장학금 추천·관리 서비스, 유니브핏은 대학생의 전반적인 장학금 지원과정을 돕습니다.

장학금 지원을 위해 필요한 수많은 정보와 지원 자격 부합여부를 더욱 쉽게 알아보고, 장학금 지원에 있어 필요한 모든 것을 더욱 간편하게 관리할 수 있습니다.

‘유니브핏’은 장학금 탐색부터 서류 준비, 자소서 작성, 일정 관리까지 전반적인 장학금 지원과정에서의 불편함을 최소화하고 효율적인 지원을 돕는 데에 초점을 맞춥니다.


2. 우리 서비스만의 강점 (경쟁사와의 차별점)

1️⃣ 장학금 지원을 위한 서류 준비 과정 서포트

장학금을 지원할 때 장학금 신청 사이트 외에 확인해야 하는 사이트(및 정보)가 너무 많다는 페인포인트를 해소하고자 합니다. (ex. 제출 서류는 어디서 발급하나요? 해당 서류의 유효기간은 얼마인가요? 자기소개서를 어떻게 구성해야 할까요?)

  • 서류 발급방법 안내, 서류 관리, 장학금 후기, 자기소개서 글자 수 등의 기능을 제공합니다.
  • 실제 장학금 지원 사이트 외에 접속해야 하는 부가 사이트의 숫자를 줄여주고자 합니다.
  • 최대한 장학금 지원 사이트와 우리 서비스만을 통해 장학금을 신청하고 관리할 수 있도록 합니다.

2️⃣ 장학금 지원 과정에 있어 조건 별 부합여부 확인

내가 해당 지원금의 지원 조건에 부합하는지 판단하는 것에 많은 대학생들이 어려움을 느끼고 있었습니다.

  • 내가 어떤 조건에 부합하지 않아 신청 불가한 지 확인할 수 있는, 기존 시장에 존재하지 않았던 온보딩 정보 기반 개별 조건 부합여부 확인 기능을 제공하고자 합니다.
  • 이는 장학금 신청에 있어 조건 부합여부 판단이 어렵게 느껴지는 심리적 장벽을 낮추고, 추후 본인의 조건을 보완하여 더 많은 장학금 신청이 가능하도록 도와주는 역할을 할 것입니다.

3️⃣ 전반적인 장학금 지원 프로세스 관리

다양한 교외장학금이 있음에도 불구하고, 수많은 일정을 관리하지 못해 지원 기간을 놓치는 경우가 많고, 이를 관리할 수 있는 기능이 기존 시장에 존재하지 않아 해당 문제가 해결되지 못하고 있음을 발견하였습니다.

  • 캘린더뷰를 통해 장학금 지원의 일정을 디테일하게 관리할 수 있도록 하여, 장학금 지원 마감일을 놓치는 경우가 없도록 합니다.
  • 지원 상태 관리 기능을 통해 나의 모든 장학금 지원 내역을 모아볼 수 있는 공간의 역할을 합니다.

4️⃣ 증빙서류 및 자기소개서, 모든 서류를 한 곳에서

장학금 지원을 위해서는 성적증명서/재학증명서/소득분위 통지서 등 조건 부합여부를 증명할 수 있는 증빙서류와 학교장추천서/자기소개서와 같은 부가적으로 작성해야 하는 서류까지, 꽤 많은 서류가 필요합니다. 기존에 특정 증빙서류를 발급 받았다고 하여도 언제 발급 받았는지, 어디서 발급 받았는지를 일일이 찾아보기도 쉽지 않습니다. 또, 장학금 지원 자기소개서에 반복적으로 포함되는 내용이 많은 만큼, 이전에 작성했던 자기소개서를 모아서 볼 수 있다면 좀 더 수월하게 작성이 가능하겠다는 생각이 들었고 이를 우리 서비스를 통해 해결하고자 합니다.

  • 장학금 작성에 대한 기능을 제공합니다. 내가 그동안 작성했던 자기소개서의 모든 버전을 우리 서비스를 통해 기록/관리할 수 있으며, 다른 대학생들의 후기 및 재단 개요 정보를 제공하여 좀 더 쉽고, 간편하게 자기소개서를 작성할 수 있도록 합니다.
  • 본인이 발급한 서류가 있는 경우 서비스에 서류명, 발급기관, 발급일자를 기록할 수 있는 기능을 제공하여, 장학금 지원 시 해당 서류 소지 여부를 확인할 수 있도록 합니다.

3. 핵심 기능

핵심기능 설명 목적
✅ 추천 장학금 온보딩 시 장학금 수혜 조건에 주로 포함되는 정보를 받고, 해당 정보를 기반으로 공고와 유저의 조건이 부합하는 장학금을 선별하여 유저에게 추천 1) 온보딩 정보를 기반으로 각자의 조건에 부합하는 장학금을 추천해줌으로써, 조건 부합 여부 판단 과정의 어려움과 수고를 덜어줌 2) 개인화된 맞춤 서비스를 통해 유저의 리텐션을 확보하고자 함
✅ 조건별 부합 여부 온보딩 정보 기반 공고별 조건 일치/불일치 여부 시각화 장학금 수혜조건과 자신의 조건이 부합하는지, 부합하지 않는다면 정확히 어떤 조건이 부합하지 않는지 파악하기 어렵다는 유저의 페인포인트를 해소하고자 조건별 일치/불일치 여부를 시각화하여 정보를 전달하고자 함
✅ 서류 관리 증빙서류 소지 여부를 확인할 수 있도록 서류 관련 정보 (서류명, 발급기관, 발급일, 메모) 수동 기입란 마련 매번 새로 발급받게 되는 증빙서류, 이를 한 곳에서 관리함으로써 내가 어떤 서류를 언제 발급받았고, 어디서 발급받았는지 명확히 확인하고 소지 여부를 파악할 수 있도록 하고자 함
✅ 장학금 프로세스 관리 1) 한 눈에 다양한 장학금 일정을 확인할 수 있는 캘린더 UI 2) 지원상태 및 합불결과 등 장학금 지원에 있어 필요한 전반적인 프로세스 관리 장학금 지원에 필요한 여러 절차와 일정을 관리하기 어렵다는 유저의 페인포인트를 해소하고자, 해당 서비스 내에서 장학금 지원 일정 및 과정을 쉽게 관리할 수 있도록 함
✅ 자기소개서 작성 및 관리 장학금 지원 시 필요한 자기소개서 작성 환경 제공 (장학금별 자기소개서 작성, 글자수 세기) 및 자기소개서 관리 장학금 지원을 위해 자기소개서를 작성해야 하는 경우가 많기 때문에, 서비스 자체 자기소개서 작성환경을 제공하고 자기소개서 저장소이자 관리소 역할을 하고자 함
✅ 재단정보 제공 및 요약 장학금 운영기관의 장학금 사업 목적 및 취지에 대한 정보를 요약 기능과 함께 제공 각 장학금에 대한 이해도를 높여 더욱 나에게 부합하는 장학금을 선택할 수 있도록 하고, 자기소개서 작성 시 각 재단의 기본적인 성격을 녹여낸 질 높은 자기소개서를 작성할 수 있도록 도움

4. IA 정보 구조도

KakaoTalk_Photo_2024-05-01-04-17-02



📊 서비스 비즈니스 모델

<유니브핏>은 전국의 대학생과 한국장학재단, 기업재단, 지자체 등 교외장학금을 운영하는 기관이 한 곳에 모이는 장학금 추천·관리 서비스입니다.

궁극적으로 대학생들의 대학생활 내 금전적 비용 부담을 줄이고자 하는 비전을 가지고 있는 <유니브핏>은 장학금 관련 서비스를 직접적으로 경험하게 될 대학생 유저들에게 무료로 해당 서비스를 제공하고자 합니다.

관련 파트너 1 관련 파트너 2 내용
무료   유니브핏  대학생 (일반 유저)  회원가입 및 로그인 시, 서비스 내 모든 기능 이용 가능 (미로그인 시, 서비스 내 정보 열람 및 이용 제한)
유료   유니브핏  교외장학금 운영 기관  유니브핏 서비스의 [홈]탭과 [장학금 공고]탭 내 광고 구좌를 통해 장학금 홍보를 집행할 수 있는 광고 상품 마련

** 추후 확장 서비스에서는 다음과 같은 비즈니스 모델이 추가 적용됩니다.

관련 파트너 1 관련 파트너 2 내용
유료   유니브핏  교외장학금 운영 기관  카카오톡 알림톡을 통한 광고 집행 - 장학금 공고 추천 알림 발송 - 장학금 마감 디데이 알림 발송 - 장학금 관련 공지사항 안내 알림 발송

🎨 디자인 무드보드

KakaoTalk_Photo_2024-05-01-16-04-59



🔍 System Architecture

KakaoTalk_Photo_2024-05-23-23-48-20



📜 ERD 설계도

Copy_of_mendong_4



💻 Technology

Web / Android



🔨 BackEnd



👤Co-working Tool



🐾 기술 스택 선정 이유

📘 Web/Android 스택 선정 이유

    • 세밀한 타입 지정을 통해 오류를 쉽게 찾을 수 있다.
    • 컴포넌트 등의 구조 수정 시 해당 수정에 영향을 받는 부분을 타입 기능에 의한 오류로 쉽게 찾을 수 있다.
    • 코드에서 주로 사용되는 데이터들의 구조를 인터페이스로 파악할 수 있다.
    • SSR 기능을 사용하여 SEO 최적화, 사용성 향상, 성능 향상 등을 이뤄낼 수 있다.
    • 파일 구조로 라우터를 관리함으로써 라우트 구조를 쉽게 파악하고 수정할 수 있다.
    • vercel과의 연동을 통해 쉽게 배포를 할 수 있다.
    • 유틸리티 클래스를 이용하여 css 파일을 생성하지 않고 jsx 내에서 스타일을 바로 수정할 수 있다.
    • Tailwind CSS의 문법을 통해 반응형 디자인을 쉽게 추가할 수 있다.
    • 디자인 시스템을 tailwind.config.js에 추가하여 유틸리티 클래스 형태로 쉽게 사용할 수 있다.
    • 클래스 이름을 고민하는 리소스를 줄일 수 있다.



📗 Server 스택 선정 이유

    • 내장된 서버(내장 Tomcat, Jetty, Undertow)를 제공하여 별도의 서버 설정 없이 애플리케이션을 실행할 수 있다.
    • 배포를 위해 War 파일을 생성해서 Tomcat에 배포할 필요 없으며, JAR 파일에는 모든 의존성 라이브러리가 포함되어 있어 외부 서버 없이도 애플리케이션을 실행할 수 있다.
    • 3rd party 라이브러리를 사용하여 starter라는 묶음 의존성 라이브러리 패키지를 이용하여 Maven/gradle에서 버전 관리를 하여 별도의 버전관리가 필요없고 간편하게 의존성을 지정할 수 있다
    • sql중심적인 개발에서 객체 중심적인 개발이 가능하다.
    • Query와 같이 필요한 선어문 / 할등등의 부수적인 코드가 줄어들어 각종 객체에 대한 코드를 별도로 작성하여 코드의 가독성을 높일수 있다.
    • 지정한 URL에 대해서 인증을 요구하게 해 보안성을 높인다.
    • CSRF(Cross Site Request Forgery) 공격을 방어한다.
    • 스크립트 공격 보안을 지원한다.
    • 오픈 소스 라이센스를 따르기 때문에 무료로 사용할 수 있다.(개발 비용절감)
    • 다양한 운영체제에서 사용할 수 있으며, 여러 가지의 프로그래밍 언어를 지원한다.
    • 널리 알려진 표준 SQL 형식을 사용합니다.(개발에 용이)
    • 작성된 애플케이션 뿐 아니라 당시 개발 환경까지 그대로 담아서 사용 서버에서 실행해주기 때문에 현재 환경에 상관없이 작성된 그대로 애플리케이션을 실행할 수 있다. (Environment Disparity 현상 해결)
      • Environment Disparity? -> 개발환경과 배포환경이 서로 맞지 않는 상태를 일컫는 말



🔖 Naming Rules

👨🏻‍💻 FrontEnd

  • 네이밍 종류

    • camelCase : 소문자로 시작하고 대문자로 시작하는 모든 후속 단어
    • PascalCase : 모든 단어는 대문자로 시작
    • snake_case : 밑줄로 구분된 단어
    • UPPER_SNAKE_CASE : 밑줄로 구분된 단어로 모든 단어가 대문자
    • kebab-case : 하이픈으로 구분된 단어
  • 네이밍 규칙

    • Folder : kebab-case
    • File : kebab-case
    • Component : PascalCase
    • Variable : camelCase
    • Function : camelCase
    • Constant : UPPER_SNAKE_CASE

👨🏻‍💻 BackEnd

종류 명명법 예시
클래스명 파스칼 케이스 ClassName
메소드명 카멜 케이스 methodName
변수명 카멜 케이스 argumentName
상수명 스네이크 케아스(모두 대문자로 표기) ENUM_NAME
DB필드명 카멜케이스 fieldName
DB테이블명 파스칼케이스 TableName

Commit Convention

👨🏻‍💻 FrontEnd

Tag Title
feat 새로운 기능 추가
design UI 디자인 추가 및 수정
fix 버그 및 이슈 수정
refactor 코드 리팩토링
init 프로젝트 초기 환경 설정
config 프로젝트 개발 중 환경 설정
docs README나 템플릿 등의 문서 추가 및 수정

👨🏻‍💻 BackEnd

👉 [Prefix]: <#Issue_Number> <Issue's Description> 형식을 맞춰서 커밋을 작성합니다.

📌 Prefix

Tag Title
feat 새로운 기능 구현

Ex) [feat]: #10 장학금 목록 조회 api 구현
fix 코드 오류 수정 및 빌드 실패로 인한 빠른 코드 수정

Ex) [fix]: #10 회원가입 비즈니스 로직 오류 수정
docs README나 템플릿 등의 문서 추가 및 수정

Ex) [docs]: #10 Update README.md
refactor 내부 로직은 변경 하지 않고 기존의 코드를 개선하는 리팩토링

Ex) [refactor]: #10 장학금 공고를 위한 지원서 작성 api 로직 개선
chore 의존성 추가, yml 추가와 수정, 패키지 구조 변경, 파일 이동

Ex) [chore]: #10 build.gradle 수정 및 Dockerfile 추가
test 테스트 코드 작성, 수정

Ex) [test]: #10 마이페이지 수정 api 테스트 코드 작성
delete 불필요한 코드 삭제

Ex) [delete] : #10 장학금 공고 추천 api 불필요한 코드 삭제

Git Convention

👨🏻‍💻 FrontEnd

Github Flow

Branch Rule

main : 최종 배포 브랜치

Process

main 브랜치에서 작업 수행 후 commit → Vercel에서 새 commit 자동 업데이트


👨🏻‍💻 BackEnd

📄 Issue

👉 Issue 생성은 Issue Template을 적극적으로 활용하여 팀원의 이해를 높여줘야 합니다.

  • Issue Title은 위 Commit Convention의 Commit 작성법과 유사하게 작성합니다.

[Prefix] : Issue Description

Ex) [feat] : 장학금 공고 추천 api 구현

### 📝 Description

- 구현할 내용 1
- 구현할 내용 2

---

### 📝 Todo(중간 체크용)

- [ ] : 구현할 내용 1
- [ ] : 구현할 내용 2

🚨 Pull Request

👉 Pull Request 생성은 Pull Request Template을 적극적으로 활용하여 팀원의 작업내용을 이해할 수 있어야 합니다.

  • main branch는 프로젝트 최종 branch이며 그 전까지는 develop branch를 default branch로 사용합니다.

  • Pull Request의 Title은 해당 Issue Number에 맞게 작성합니다.

[Prefix] : Pull Request Title

Ex) [feat] : 장학금 공고 추천 api 구현 완료

### 관련 이슈
본인이 작업한 내용이 어떤 Issue Number와 관련이 있는지만 작성해주세요

- #13

---

### 📝 작업 내용
이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

- 작업한 내용 1
- 작업한 내용 2

---

### 🎸 기타 사항 or 추가 코멘트

⚒️ Branch

👉 [Header]/[#이슈 번호]/[이슈 작업 내용 요약 or Domain명]

Header Description
main 'main' 브랜치는 배포 가능한 상태만을 관리합니다.
develop 'develop' 브랜치는 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행합니다.
모든 기능이 정상적으로 동작할 수 있는 안정적인 상태를 유지해야 합니다.
모든 기능이 추가되고 버그가 수정되어 배포 가능한 상태라면 'main' 브랜치에 merge 한다.
feature ‘develop’ 브랜치에서 분기하며 기능이 완료되면 ‘develop’ 브랜치로 merge 합니다.
refactor refactoring 만을 위한 브랜치이며 ‘develop’ 브랜치에서 분기합니다.
recatoring이 완료되면 ‘develop’ 브랜치로 merge 합니다.

Project Structure

👨🏻‍💻 FrontEnd

  • public
    • images : 화면에 사용되는 이미지들을 저장하는 폴더
    • icons : 아이콘들을 저장하는 폴더
    • fonts : 웹사이트의 메인 로고들을 저장하는 폴더
    • styles : css 파일들을 저장하는 폴더, 주로 폰트 관련 설정이 들어감
    • logo : 폰트를 위한 otf나 ttf 파일들을 저장하는 폴더
  • src
    • pages : 화면에 보여지는 페이지들을 작성하는 폴더, 주로 페이지의 Depth 1 컴포넌트가 들어감
      • folder/* : pages 내에서 여러 개의 폴더로 계층을 나누어 페이지 컴포넌트들을 관리
    • components : 페이지에서 사용되는 컴포넌트들을 관리하는 폴더, 주로 페이지의 Depth 2 이후의 컴포넌트들이 들어감
      • folder/* : components 내에서 여러 개의 폴더로 계층을 나누어 컴포넌트들을 관리
      • ui : 특정 도메인에서 공통적으로 쓰이는 컴포넌트들을 해당 도메인과 같은 계층에서 ui 폴더에서 관리
    • utils : 유용한 변수나 함수들을 저장하는 폴더, 주로 enum 값 변환이 들어감
    • data : 서버에 저장되지 않고 로컬에서 파일 형태로 관리하는 데이터들을 저장하는 폴더
    • api : API 호출 함수들을 저장하고 관리하는 폴더

👨🏻‍💻 BackEnd

├── domain
│   ├── member
│   │   ├── api
│   │   │   └── MemberApi.java
│   │   ├── application
│   │   │   ├── MemberProfileService.java
│   │   │   ├── MemberSearchService.java
│   │   │   ├── MemberSignUpService.java
│   │   ├── repository
│   │   │   ├── MemberRepository.java
│   │   │   ├── MemberSupportRepository.java
│   │   │   └── MemberSupportRepositoryImpl.java
│   │   ├── domain
│   │   │   ├── MemberEntity.java
│   │   ├── dto
│   │   │   ├── LoginRequest.java
│   │   │   └── LoginResponse.java
│   │   └── exception
│   │       ├── EmailNotFoundException.java
│   │       └── MemberNotFoundException.java
│   │
│   │
├── global
│   ├── config
│   │   ├── SwaggerConfig.java
│   │   ├── properties
│   │   └── security
│   │
│   ├── ApiResponse.java
│   ├── error
│   │   ├── code
│   │       ├── BaseCode.java
│   │       ├── BaseCodeError.java
│   │   ├── dto
│   │       ├── ErrorReasonDto.java
│   │       ├── ReasonDto.java
│   │   ├── exception
│   │       ├── ExceptionAdvice.java
│   │       ├── GeneralException.java
│   │   └── status
│   │       ├── ErrorStatus.java
│   │       ├── SuccessStatus.java
│   ├── util

Design Pattern

👨🏻‍💻 FrontEnd

Top-down Process

페이지에서부터 시작해 필요할 경우 컴포넌트들을 추가하는 식으로 작업합니다.

Depth 1 Page, Depth 2 Component

특정 페이지로 들어갔을 때 나오는 첫번째 페이지 컴포넌트를 pages 폴더에 담습니다. 이후에 해당 페이지 컴포넌트 내에서 사용되는 다른 컴포넌트들은 components 폴더에 담습니다.

Hierachical Compoents’ Folder

pages와 components 폴더 내에 있는 모든 컴포넌트들을 여러 개의 하위 폴더들로 계층화하여 관리합니다. pages의 특정 페이지와 페이지 내에서 쓰이는 components 내의 컴포넌트들 간의 연결성은 하위 폴더의 이름을 통해서 확인합니다.

Minimize Repetition

반복되는 부분은 바로 컴포넌트로 분리하여 반복을 최소화합니다. 한 컴포넌트 파일을 수정할 경우 반복되는 모든 부분에서 변경될 수 있도록 관리합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages