Skip to content

qlqlrh/WeCampus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeCam 프로젝트 소개

스크린샷 2025-08-26 오전 12 28 43

1. 프로젝트 소개

1.1. 개발 배경 및 필요성

무너지는 학생회, 활기를 되찾아야 할 때
늘어나는 비상대책위원회, 무너져가는 학생 자치

학생회의 존재 목적은 대학 사회에서 학생들의 목소리를 대변하고 권익을 지키는 것이다. 실제로 한 설문에서는 학생들의 79.7%가 학생회가 “학생들의 의견을 잘 전달”하는 중요한 창구라고 답했고, 69.7%는 “학생 여론을 모으는 구심점” 역할을 한다고 평가했다. 또한 절반 이상의 학생(56.1%)은 학생회가 대학 본부를 견제하는 감시자 역할을 한다고 보았다. 이처럼 학생 자치 기구로서 학생회의 역할과 필요성은 여전히 크다. 그러나 최근 학생회 기피 현상으로 각 대학에서 학생회 구성에 어려움을 겪고 있어 문제가 되고 있다. 서울 소재 주요 대학 15곳 중 10곳이 총학생회 선출에 난항을 겪었고, 일부 대학에서는 후보자 부족으로 선거가 무산되는 사례까지 발생했다. 실제 한 대학의 경우 작년에는 14개 단과대에 학생회가 있었지만 올해는 7개 단과대만 학생회를 구성하여 학생 자치의 절반이 붕괴되는 상황이 벌어졌다. 학생회가 사라지면 그 역할을 대신하는 비상대책위원회 체제로 운영되지만, 정당성 부족과 업무 연속성 문제, 복지 축소 등 한계가 분명하여 정상적인 학생 자치 활동을 기대하기 어렵다. 이는 대학 사회에서 학생회의 부재로 인한 대표 공백이 발생하고, 학생들의 목소리를 학교에 전달할 구심점이 사라지는 심각한 결과로 이어진다.

필요성

학생회 참여 인원 감소의 원인으로는 과도한 업무 부담과 학생들의 무관심이 지적된다. 한 대학 보도에 따르면, 공동체 의식 약화와 개인주의 성향으로 학생 자치에 대한 관심이 줄어들었으며, 취업 준비와 학업에 몰두하느라 학생사회에 신경 쓸 여유가 없다는 의견이 많았다. 실제 취업에 유리한 학점 관리나 대외활동에 집중해야 하는 현실 속에서, 시간과 노력이 많이 드는 학생회 일을 기피하는 경향이 강해지고 있다. 더불어 학생회 구조상 회장 개인에게 업무와 책임이 지나치게 집중되는 것도 문제로 지적된다. 학생회 운영의 지속이 결국 학생회장 한 사람의 희생적 노력에 기대는 구조이며, 이러한 과중한 부담 때문에 회장 후보로 나서기를 망설이는 학생들이 많다는 분석이다. 요컨대 “힘든 일은 기피하고 책임지려 하지 않는 분위기” 속에서 남은 학생회 간부들에게 업무가 몰리다 보니, 악순환적으로 학생회 지원자가 더욱 줄어드는 상황이다.

우리 팀은 줄어드는 학생회 참여와 비효율적인 업무 방식이 학생 자치의 지속가능성을 위협한다고 보았다. 전직 학생회 간부들로 구성된 팀원들은 활동 경험을 통해, 현재 학생회가 여러 개의 툴을 오가며 업무를 처리하는 비효율이 크다는 점에 주목했다. 예를 들어 회의 기록을 위한 문서 작업, 학생 공지사항 전달을 위한 SNS 게시, 예산 관리와 인수인계를 위한 스프레드시트 등 파편화된 도구 사용으로 업무 누수가 발생하고 부담이 가중되고 있었다. 이러한 비효율을 해소하고 남은 인원으로도 효과적으로 학생회를 운영할 수 있도록 지원하는 통합 플랫폼의 필요성이 대두되었다. 위캠퍼스(Wecampus) 프로젝트는 바로 이러한 문제의식에서 출발하였으며, 학생회의 업무 효율을 높여 줄어든 참여 인원을 다시 늘리고 학생 자치의 활력을 되찾는 것을 목표로 기획되었다. 이를 통해 학생사회 구성원들의 지속적인 참여를 이끌어내어 무너져가는 학생회의 지속가능성을 확보하고자 한다.

1.2. 개발 목표 및 주요 내용

해결책

위캠퍼스는 대학 학생회를 위한 통합 업무 플랫폼으로, 흩어져 있는 학생회 업무 프로세스를 하나의 시스템 안에서 수행할 수 있도록 개발된다. 개발 목표는 크게 두 가지이다. 첫째, 학생회 내부의 협업 효율을 극대화하여 업무 부담을 경감시키는 것이다. 둘째, 학생회와 일반 학생 및 학교 당국 간의 소통을 원활하게 통합하여 학생사회 전체의 참여도를 높이는 것이다. 이러한 목표를 달성하기 위해 위캠퍼스는 다음과 같은 주요 기능과 콘텐츠를 제공한다.

1️⃣ 통합 커뮤니케이션 기능

학생회 집행부원들이 별도의 메신저나 이메일 대신 위캠퍼스 내에서 실시간 소통할 수 있는 채팅 및 알림 기능을 제공한다. 이를 통해 공지 사항 전달, 회의 일정 조율, 업무 지시 등이 하나의 플랫폼에서 이루어져 커뮤니케이션 손실을 줄인다.

2️⃣ 문서 및 자원 관리 기능

회의록, 예산안, 사업 계획서 등 학생회 업무에 필요한 각종 문서를 중앙 저장소에 보관하고 공동 편집할 수 있다. 이전에는 구글 드라이브, 이메일 첨부 등으로 분산되었던 자료들을 한곳에서 관리함으로써 인수인계의 효율성을 높이고, 신임 학생회가 과거 자료를 손쉽게 참고할 수 있게 한다.

3️⃣ 업무 할당 및 일정 관리

학생회 임원 간 업무 분장을 체계적으로 관리하기 위한 투두 리스트(To-Do List)와 캘린더 기능을 제공한다. 예를 들어 행사 준비, 복지 사업 추진 등의 과제를 담당자별로 등록하고 진행 상황을 공유함으로써 업무 누락 방지와 일정 준수를 돕는다.

4️⃣ 일반 학생 대상 서비스 연동

일반 학생들을 대상으로 하는 투표, 설문조사, 행사 신청 접수, 공지사항 열람 기능 등을 플랫폼에 통합한다. 이를 통해 학생들은 학교 홈페이지나 여러 SNS를 찾아다니지 않고도 위캠퍼스 앱 하나로 학생회가 제공하는 모든 정보를 얻고 참여할 수 있다. 예를 들어 총학생회 공약 투표나 축제 참여 신청도 위캠퍼스에서 간편히 처리 가능하다.

5️⃣ 역할 기반 접근 및 권한 관리

학생회 운영진, 일반 학생, 학교 직원(조교 등) 등 사용자 그룹에 따라 볼 수 있는 화면과 기능을 달리한다. 학생회 임원진에게는 내부 업무관리 메뉴가 주어지고, 일반 학생에게는 공지 열람과 의견 제출 창구가 보이는 식이다. 또한 필요시 교수님이나 직원 계정으로 로그인하여 학생회 공지사항을 함께 전달받는 등 이해관계자별 맞춤 서비스를 지원한다.

요약하면, 위캠퍼스는 학생회의 내외부 업무를 하나로 묶은 협업 및 소통 플랫폼이다. 이러한 주요 기능들을 통해 기존에 산발적으로 이뤄지던 학생회의 모든 활동을 한 곳에서 처리함으로써 업무 효율을 높이고, 일반 학생들의 참여를 촉진하는 것이 본 서비스의 핵심 내용이다.

1.3. 세부 내용

위캠퍼스의 세부 설계 방향은 현재 학생회 업무 프로세스의 문제점을 직접 해결하는 데 초점을 맞추고 있다.

1️⃣ 학생회 간부들이 겪는 비효율적인 업무 절차 간소화

예를 들어 기존에는 회의를 소집할 때 메신저로 일일이 시간을 조율하고, 회의록은 별도의 문서로 작성한 후 이메일로 공유했을 것이다. 위캠퍼스에서는 일정 조율부터 회의록 공유까지 모든 과정이 플랫폼 안에서 자동화된다. 회의 일정을 등록하면 관련 구성원에게 알림이 가고, 회의록 템플릿을 제공하여 실시간으로 작성·공유함으로써 회의 과정이 투명하고 빠르게 진행된다.

2️⃣ 학생회와 일반 학생 간의 소통 창구 일원화

현재는 학생회 공지사항이 학교 홈페이지, 단과대 SNS, 학과 카카오톡방 등 여러 경로로 흩어져 전달되기 때문에 정보 누락이나 전달력 저하 문제가 있었다. 위캠퍼스에서는 학생 대상 공지, 설문, 투표가 하나의 피드(Feed)로 모이고, 학생들은 자신의 관심 분야나 소속 단과대에 맞는 알림을 선택 구독할 수 있다. 이를 통해 학생들은 중앙화된 플랫폼에서 학생회 소식과 학교 생활 정보를 편리하게 접하게 되고, 학생회의 홍보 효과도 높아진다.

3️⃣ 학생회 운영의 연속성을 지원

앞서 언급한 대로 학생회는 기업 조직과 달리 매년 임원이 전원 교체되는 특성이 있어 노하우 단절 문제가 심각하다. 위캠퍼스는 전임 학생회가 남긴 인계인수 자료나 지난 사업들의 결과 보고서 등을 데이터베이스화하여 저장한다. 새로운 학생회가 출범하면, 해당 자료들을 쉽게 열람하고 참고할 수 있는 디지털 인수인계 시스템을 활용할 수 있다. 예를 들어 이전 해의 예산 집행 내역이나 행사 진행 일정표를 확인함으로써 불필요한 시행착오를 줄이고 업무의 연속성을 유지할 수 있다.

4️⃣ 플랫폼 도입과 운영을 손쉽게 할 수 있도록 설계된 구조

학생회 임원은 직장인이 아니라 학업과 병행하여 봉사적으로 일하는 학생들인 만큼, 복잡한 IT 도구에 적응할 시간이 부족하다. 이에 위캠퍼스는 사용자 친화적 UI와 직관적인 사용성을 갖추고, 별도의 교육 없이도 바로 활용할 수 있도록 개발된다. 또한 모바일 앱과 웹을 모두 지원하여 시간과 장소에 구애받지 않고 접근할 수 있게 함으로써, 바쁜 학생들도 틈나는 대로 학생회 업무를 처리할 수 있다.

이러한 세부 기능과 설계 원칙을 종합하면, 위캠퍼스는 학생회 업무 전반을 효율화하고 참여자의 편의성을 높이는 맞춤형 플랫폼이다. 작은 개선 하나하나를 모아 학생회 운영 전반의 생산성 향상과 참여 확대로 이어지도록 구체적인 기능들을 설계하였다. 개발 과정에서는 실제 학생회 경험을 바탕으로 필요한 기능을 지속적으로 보완하여, 궁극적으로 학생 자치 문화의 활성화에 기여하는 서비스가 되도록 할 것이다.

1.4. 기존 서비스 대비 차별성

유사한 협업 툴로 잔디(JANDI)슬랙(Slack)과 같은 기업용 업무용 소프트웨어가 떠오를 수 있다. 표면적으로 학생회 조직도 규모 면에서 중소기업과 비슷해 보일 수 있으나, 학생회만의 특수성 때문에 기존 협업툴과 위캠퍼스 사이에는 뚜렷한 차별점이 존재한다.

1️⃣ 조직 구조와 인력 교체의 차이

일반 기업은 구성원이 수시로 입사·승진·퇴사하며 조직이 연속성을 갖지만, 학생회는 선거를 통해 일괄적으로 전원이 교체되는 구조다. 한 해의 학생회 임기가 끝나면 다음 해에는 새로운 학생들이 처음부터 업무를 시작한다. 따라서 기업용 툴처럼 전임자가 장기간 동안 누적한 데이터를 자연스럽게 이어받는 환경이 아니다. 위캠퍼스는 이러한 단절 문제를 해결하기 위해 전임 학생회의 자료 축적과 신임 학생회의 접근을 지원하는 인수인계 모듈을 갖추고 있어, 매년 새롭게 조직이 꾸려져도 업무의 연속성을 유지할 수 있다.

2️⃣ 역할에 따른 복합적 소통 요구

기업용 협업툴은 주로 내부 직원 간 협업에 초점을 맞추지만, 대학 학생회는 내부 업무와 동시에 학내 구성원 전체와의 소통이 핵심인 조직이다. 학생회는 학생 공청회 개최, 학교 당국과의 협상, 대외 성명 발표 등 일반 학생과 학교를 잇는 가교 역할을 수행한다. 기존 툴로는 회사 내부 프로젝트 관리에는 유용할지 모르나, 학생 전체를 대상으로 한 투표나 의견 수렴, 또는 학교 관리자와의 교신 등 외부 대상 업무를 처리하기 어렵다. 위캠퍼스는 학생회 운영진용 인터페이스와 일반 학생용 인터페이스를 분리 제공하고, 필요에 따라 교직원 계정도 연동할 수 있도록 함으로써 한 플랫폼 내에서 대내외 소통을 모두 아우를 수 있다. 이러한 구조는 일반 협업툴에는 없는, 학생회를 위한 맞춤 설계다.

3️⃣ 업무 동기의 차이와 사용 편의성

기업에서는 직원들이 업무가 곧 급여와 평가로 이어지기에 적극적으로 협업툴 사용을 익히고 적응할 동기가 크다. 반면 학생회는 자원봉사 성격으로 이루어져 있고 구성원들이 학업 병행으로 바쁘기 때문에, 복잡한 도구일수록 제대로 활용되지 않을 가능성이 높다. 따라서 위캠퍼스는 학습 곡선이 낮은 UX/UI, 필수 기능 위주의 심플한 디자인으로 개발되어 학생회 임원들이 부담 없이 사용할 수 있게 차별화하였다. 예컨대 잔디와 같은 도구가 제공하는 기업용 고급 기능(인사관리, 외부 API 연동 등)은 과감히 배제하고, 대신 학생회에 꼭 필요한 회의록 공유, 공지 게시, 투표 기능 등에 집중하였다. 그 결과 사용자 진입장벽을 낮추고 활용도를 높이는 것이 위캠퍼스의 강점이다.

1.5. 사회적 가치 도입 계획

위캠퍼스 프로젝트는 단순한 앱 개발을 넘어, 대학 사회의 지속가능한 학생 자치 문화 정착이라는 사회적 가치를 지향한다. 학생회는 대학 내 민주주의와 학생 권익 증진의 핵심 축이지만, 앞서 언급했듯이 참여 부족으로 많은 대학에서 그 기능을 잃어가고 있다. 학생 대표 부재는 곧 학생들의 목소리를 대변할 통로가 사라진다는 뜻이며, 이로 인해 학생들의 권리가 학교 행정에 반영되지 못할 우려가 있다. 위캠퍼스는 이러한 문제를 해결함으로써 다음과 같은 사회적 가치를 창출할 계획이다.

1️⃣ 학생 자치 활성화와 참여 증진

플랫폼을 도입함으로써 학생회 업무가 투명해지고 효율화되면, 학생들의 지속적인 관심 및 참여를 유도할 수 있다. 실제 한 조사에서도 학생회 운영에 가장 필요한 요소로 “학생들의 지속적인 관심과 참여”가 64.8%의 압도적 지지를 받아 1순위로 꼽혔다. 위캠퍼스는 업무 부담을 낮춰 더 많은 학생들이 학생회 활동에 도전하도록 장려하고, 일반 학생들도 손쉽게 의견 개진과 학교 행사에 참여하도록 함으로써 전체 학생사회의 참여도를 높일 것이다. 이는 학내 민주주의의 저변 확대로 이어져, 향후 민주시민으로 성장할 청년들의 참여 경험을 쌓는 데 기여한다.

2️⃣ 투명성과 신뢰 제고

학생회 운영의 디지털화는 회계 처리, 회의 결과, 공약 이행 현황 등을 모두 기록으로 남기고 공개함으로써 학생회비 사용의 투명성과 학생사회의 신뢰를 높인다. 현재 일부 대학에서는 학생회 운영에 대한 불신이나 회계 부정 의혹으로 학생들이 회비 납부를 꺼리는 경우도 있다. 위캠퍼스는 예산 집행 내역 공개 기능, 실시간 공지/투표 시스템 등을 통해 학생들이 실시간으로 정보를 확인하고 견제할 수 있는 환경을 제공한다. 이는 대학 사회에서 책임성과 거버넌스를 강화하는 효과를 낳아, 학생 자치에 대한 긍정적 인식을 확산시킬 것이다.

3️⃣ 장기적 지속가능성 및 확산

위캠퍼스 플랫폼을 한 대학에서 성공적으로 운영한 뒤에는, 다른 대학과 협업하여 범대학적으로 확산시킬 계획이다. 초기에는 우리 팀이 직접 속한 학교를 중심으로 파일럿 프로그램을 실시하고, 학생회의 업무량 감소나 참여율 증가와 같은 정량적 성과 지표를 수집할 것이다. 이후 그 결과를 바탕으로 다양한 대학의 총학생회와 연계하여 플랫폼을 무료 또는 저비용으로 제공, 오픈소스화를 통해 누구나 활용할 수 있게 검토한다. 이를 통해 전국 대학에 학생 자치 플랫폼이 보급되면, 전반적인 대학생들의 자치 역량 향상과 청년 시민사회 활성화라는 사회적 가치를 실현할 수 있을 것으로 기대한다.

정리하면, 위캠퍼스는 학생회의 효율 개선을 수단으로 대학 사회의 공동체 가치를 지키는 프로젝트이다. 학내 구성원들의 자발적 참여와 협력을 이끌어내어, 사라져가던 학생회의 불씨를 되살리고 활력을 불어넣는 사회혁신적 아이디어라고 할 수 있다. 우리 팀은 이 플랫폼을 통해 얻어지는 긍정적인 변화들을 정량·정성적으로 평가하고, 지속적으로 사회적 가치를 증진하는 방향으로 발전시켜나갈 계획이다. 이는 단순한 비즈니스 성과를 넘어, 다음 세대를 위한 지속가능한 학생 자치 생태계 조성이라는 점에서 큰 의의가 있을 것이다.

1.6. 수익화 전략

위캠퍼스의 수익 모델은 구독형 수익과 광고 수익의 이중 구조로 설계된다.

1️⃣ 구독형 모델 (B2B)

위캠퍼스의 핵심 유료 고객은 각 대학의 학생회 조직이다. 총학생회, 단과대 학생회, 학과 학생회 등 조직 단위로 플랫폼을 도입하면, 해당 조직은 연간 144,000원의 구독료를 납부한다. 구성원이 100명을 초과하는 대형 조직은 초과 인원 1인당 연간 100원의 추가 요금이 발생한다. 이 방식은 학생회라는 집단적 단위로 서비스 도입을 결정하기 때문에, 한 번 도입되면 학내 전체 학생이 자연스럽게 참여하는 조직 의존적 확산 구조를 갖는다. 따라서 고객 확보 시 빠른 사용자 풀 확대가 가능하다.

2️⃣ 광고 모델 (B2C)

학생회가 플랫폼을 도입하면, 해당 대학의 모든 재학생이 자연스럽게 플랫폼을 이용하게 된다. 이 과정에서 학생 사용자 1인당 연간 3,000원 수준의 광고 매출(ARPU)을 기대할 수 있다. 광고는 배너, 피드 내 노출, 제휴 콘텐츠 등을 기반으로 하며, 이미 대학 커뮤니티 서비스에서 검증된 광고 단가를 바탕으로 보수적으로 산정되었다. 이는 학생들이 무료로 서비스를 이용하는 동시에, 플랫폼의 안정적 수익원을 뒷받침하는 구조이다.

3️⃣ 시장 규모와 성장 가능성

SOM (부산 지역): 약 740개 학생회, 약 14만 명 학생을 대상으로 연간 약 53.9억 원 수익 잠재력.
SAM (국내 전체): 약 8,757개 학생회, 약 163만 명 학생 대상으로 연간 약 629.6억 원 수익 잠재력.
TAM (글로벌): 전 세계 약 130만 개 학생회, 2.64억 명 학생 대상으로 연간 약 1조 원 규모의 수익 잠재력.
초기에는 부산 지역을 중심으로 시장에 진입해 레퍼런스를 확보하고, 이후 국내 전체 대학으로 확산하는 단계적 전략을 취한다. 학생회 단위 도입 특성상, 한 대학에서 성공적인 적용 사례가 나오면 인접 대학으로 전파되기 쉽고, 장기적으로 해외 대학 시장에도 적용 가능하다.

즉, 위캠퍼스는 구독료를 통한 안정적 현금흐름과 광고 기반의 추가 수익이 결합된 구조는 지속가능한 성장 모델이다. 향후에는 구인구직 연계, 프리미엄 기능(고급 통계, 맞춤형 설문 등), 제휴 서비스 확장을 통해 수익원을 다각화할 수 있다. 이를 통해 위캠퍼스는 단순한 학생회 운영툴을 넘어, 대학생 생활 전반을 아우르는 차세대 캠퍼스 플랫폼으로 성장할 것이다.

2. 상세 설계

2.1. 시스템 구성도

시스템 구조도

2.2. 사용 기술

Frontend
Next.js Tailwind CSS

Backend
Spring Boot Java

AI
Python Flask

Database
MySQL (AWS RDS)

Infra
GCP

CI/CD
GitHub Actions

3. 개발 결과

3.1. 전체 시스템 흐름도

정보 구조도 - IA(Information Architecture)

기능명 : 파란색
구현 부분 : 흰색
미구현 부분 : 회색

플로우 차트 - WeCampus

3.2. 기능 설명

① 워크스페이스 생성

학생회 대표가 ‘우리 학생회 만들기’를 클릭하고, 학교 및 단과대·학과 이름을 입력하거나 증빙자료를 업로드한다.
이후 상위 학생회 또는 운영진이 승인하면 해당 워크스페이스가 생성되어 공지, 회의록, 구성원 관리 등의 기능이 활성화된다.

② 소속 인증

일반 학생은 재학 또는 합격 증명서를 OCR로 인증받거나, 학생회가 발급한 초대코드를 입력하여 소속 인증을 진행한다.
인증 전에는 열람 권한만 부여되고, 인증 후부터는 적극 참여가 가능하다.

default.mov

③ 소속인증 관리

학생회 임원은 소속 인증 요청 목록을 확인하고, 제출된 증빙 또는 초대코드를 검토하여 승인하거나 반려 조치한다.

④ 회의록 관리

학생회에서 진행한 회의의 안건, 참석자, 논의 내용, 결론을 입력할 수 있으며, 이를 조직 구성원이 확인할 수 있다.
수정 이력도 자동으로 기록되어 관리된다.

default.mp4

⑤ 구성원 관리

워크스페이스에 속한 학생들의 명단을 학번, 이름, 역할 등으로 확인할 수 있다.
검색 및 필터 기능이 제공되어 운영 효율성을 높인다.

⑥ 권한 관리

워크스페이스 관리자는 구성원에게 관리자, 임원, 일반학생 등의 권한을 부여하거나 변경할 수 있다.
게시글 작성, 인증 승인, 구성원 제명 등의 권한 설정이 가능하다.

⑦ 초대코드 관리

학생회는 일반학생용 또는 임원용 초대코드를 발급할 수 있다.
유효 기간과 최대 사용 횟수를 설정할 수 있으며, 해당 코드로 가입한 내역이 기록된다.

⑧ 카테고리별 관리

공지, 회의록, 파일 등의 콘텐츠를 목적에 따라 카테고리로 구분한다.
게시 시 카테고리 선택을 필수로 하며, 카테고리별 필터링도 가능하다.

⑨ 파일함

운영 관련 문서(회의록, 예산안, 행사자료 등)를 폴더 구조로 업로드하고 다운로드할 수 있다.
파일 업로드자 및 수정 이력이 기록되며, 워크스페이스 구성원들과 공유된다.

3.3. 기능 명세서

기능 ID 화면 구분 기능명 상세 설명 제한사항
WORK-001 워크스페이스 생성 화면 워크스페이스 생성 새로운 워크스페이스(학생회 공간)를 생성하는 기능이다. 사용자는 학교 및 단체 정보를 입력하여 워크스페이스 생성 요청을 할 수 있으며, 관리자(슈퍼관리자)의 승인이 이루어지면 해당 워크스페이스가 활성화된다. 관리자(슈퍼관리자)의 승인 전에는 워크스페이스가 활성화되지 않는다. 이미 동일한 이름의 워크스페이스가 존재하는 경우 생성할 수 없다.
AFFI-001 소속 인증 화면 소속 인증 사용자가 자신의 학교 소속을 증명하여 정식 구성원으로 승인받기 위한 기능이다. 재학증명서 또는 합격증명서 등 증빙 서류 1개를 업로드하여 소속 인증을 요청하면 관리자가 검토 후 승인한다. 합격증명서로 인증받은 경우 최종 승인 이후에도 임시 인증 상태로 처리되어 일부 기능 이용이 제한된다. PNG, JPG(JPEG), PDF 형식의 파일 1개만 첨부 가능하다. 관리자의 승인 전까지는 제한적인 권한만 부여된다.
AFFI-002 소속 인증 관리 화면 소속 인증 관리 관리자가 사용자들이 제출한 소속 인증 요청을 검토하여 승인 또는 거절할 수 있는 기능이다. 관리자는 제출된 증빙 서류를 확인하고 각 사용자의 소속 인증 완료 여부를 결정할 수 있다. 관리자 권한이 있는 사용자만 이 화면에 접근할 수 있다.
MINU-001 회의록 관리 화면 회의록 관리 회의 내용을 기록하여 구성원들과 공유하는 기능이다. 회의 제목, 일시, 참석자, 논의 사항 등을 입력하여 회의록을 작성하고 워크스페이스 내 구성원들에게 공유할 수 있다. 회의록 작성 및 수정은 권한이 있는 구성원만 가능하다.
MEMB-001 구성원 관리 화면 구성원 관리 워크스페이스에 속한 모든 구성원을 조회하고 관리하는 기능이다. 관리자는 구성원 목록을 통해 각 구성원의 권한을 변경하거나 탈퇴 처리 등을 할 수 있다. 관리자 권한이 있는 사용자만 구성원 정보를 수정하거나 삭제할 수 있다.
PERM-001 권한 관리 화면 권한 관리 워크스페이스 내 역할별 권한을 설정하는 기능이다. 관리자는 역할(회장, 부회장, 일반회원 등)을 생성하고 각 역할에 필요한 권한을 정의할 수 있다. 기본 제공되는 최고 관리자 역할은 수정이나 삭제가 불가능하다.
INVT-001 초대코드 관리 화면 초대코드 관리 워크스페이스에 새 구성원을 초대하기 위한 초대 코드를 생성하고 관리하는 기능이다. 관리자는 일반 학생용 초대코드와 학생회 임원용 초대코드를 발급하여 공유할 수 있으며, 각 코드의 유효기간 및 사용 가능 횟수를 설정할 수 있다. 초대코드는 유효기간이 만료되면 자동으로 사용할 수 없게 된다.
CATE-001 카테고리 관리 화면 카테고리별 관리 워크스페이스 내 여러 게시판 카테고리(공지사항, 건의사항, 회의록 등)를 관리하는 기능이다. 관리자는 각 카테고리의 활성화 여부를 설정하고 필요한 경우 새 카테고리를 추가하거나 이름을 수정/삭제할 수 있다. 기본 제공되는 카테고리는 삭제할 수 없다.
FILE-001 파일함 화면 파일함 워크스페이스 내에 업로드된 파일을 통합 관리하고 열람할 수 있는 기능이다. 구성원들은 공유된 파일 목록을 통해 문서, 이미지 등을 검색하고 다운로드할 수 있다. 개별 파일의 업로드 용량은 최대 20MB로 제한된다.
NOTI-001 공지 관리 화면 공지 관리 워크스페이스 내 전체 공지사항을 작성 및 관리하는 기능이다. 관리자는 제목과 내용을 입력하여 공지를 게시하며, 게시된 공지는 모든 구성원의 화면에 상단 고정 또는 알림으로 표시된다. 현재 해당 기능은 구현되어 있지 않아 서비스에서 이용할 수 없다.

3.4. 디렉토리 구조

wecam-all-frontend/
├─ package.json                         - 패키지 관리 및 스크립트
├─ tsconfig.json                        - TypeScript 설정
├─ next.config.ts                       - Next.js 설정
├─ Dockerfile                           - 컨테이너 빌드 설정
├─ run-frontend.sh                      - 실행 스크립트
├─ public/                              - 정적 자원(로고, 이미지)
├─ src/                                 - 애플리케이션 소스
│  ├─ 📁 api-service/                   - API 호출 모듈 모음
│  ├─ 📁 app/                           - 라우팅/페이지 엔트리
│  │  ├─ login/                         - 로그인 페이지
│  │  ├─ register/                      - 회원가입 페이지
│  │  ├─ landing/                       - 랜딩 페이지
│  │  ├─ workspace/                     - 워크스페이스 관련 페이지
│  │  ├─ admin/                         - 관리자 영역
│  │  │  ├─ meeting/                    - 회의록 관리
│  │  │  ├─ todo/                       - 할 일 관리
│  │  │  ├─ member-manage/              - 멤버 관리
│  │  │  ├─ invitation/                 - 초대 코드 관리
│  │  │  └─ council-affiliation/        - 소속 인증 관리
│  │  └─ client/                        - 일반 사용자 영역
│  │     └─ mypage/                     - 마이페이지
│  ├─ 📁 components/                    - 공통 컴포넌트
│  │  ├─ icons/                         - 아이콘
│  │  ├─ modals/                        - 모달
│  │  ├─ header                         - 헤더 컴포넌트
│  │  ├─ nav                            - 내비게이션
│  │  └─ side-bar                       - 사이드바
│  ├─ 📁 hooks/                         - 커스텀 훅
│  ├─ 📁 utils/                         - 유틸리티 함수
│  ├─ 📁 store/                         - 전역 상태 관리
│  ├─ 📁 types/                         - 타입 정의
│  ├─ 📁 mocks/                         - 목업 데이터
│  └─ lib/                              - 라이브러리 헬퍼
├─ eslint.config.mjs                    - ESLint 설정
├─ postcss.config.mjs                   - PostCSS 설정
└─ jsconfig.json                        - 경로/IDE 설정
📁 wecam-all-backend/                           - 모노레포 루트
├─ build.gradle
├─ settings.gradle
├─ gradle/
│  └─ wrapper/
├─ 📁 domain-common/                            - 공용 도메인/엔티티 모듈
│  ├─ build.gradle
│  └─ src/main/java/org/example/model/
│     ├─ common/                                - 공통 베이스 엔티티/유틸
│     ├─ enums/                                 - 공용 열거형
│     ├─ affiliation/                           - 소속 인증 관련 엔티티
│     ├─ category/                              - 카테고리 관련 엔티티
│     ├─ council/                               - 학생회 관련 엔티티
│     ├─ file/                                  - 파일 관련 엔티티
│     ├─ invitation/                            - 초대 코드 관련 엔티티
│     ├─ meeting/                               - 회의 관련 엔티티
│     ├─ organization/                          - 조직 관련 관련
│     ├─ todo/                                  - 할 일 관련 엔티티
│     ├─ user/                                  - 사용자 관련 엔티티
│     └─ University.java                        - 대학 관련 엔티티
├─ 📁 wecam-backend/                            - 메인 백엔드 서비스
│  ├─ build.gradle
│  └─ src/
│     ├─ main/
│     │  ├─ java/org/example/wecambackend/
│     │  │  ├─ WecamBackendApplication.java     - Spring Boot 엔트리
│     │  │  ├─ config/                          - 전역 설정
│     │  │  │  ├─ AppConfig.java
│     │  │  │  ├─ OpenApiConfig.java
│     │  │  │  ├─ QuerydslConfig.java
│     │  │  │  ├─ auth/                         - 인증 인프라(JWT 필터·토큰)
│     │  │  │  └─ security/                     - 권한 체크/어노테이션/필터
│     │  │  ├─ controller/
│     │  │  │  ├─ admin/                        - 학생회 관리자 페이지 전용 API
│     │  │  │  ├─ auth/                         - 로그인·회원가입 등 인증 API
│     │  │  │  ├─ client/                       - 일반 사용자(학생 등)용 API
│     │  │  │  └─ publicinfo/                   - 공개 정보 API
│     │  │  ├─ service/
│     │  │  │  ├─ admin/                        - 학생회 관리자 페이지 전용 서비스 로직
│     │  │  │  ├─ auth/                         - 로그인·회원가입 등 인증 서비스 로직
│     │  │  │  └─ client/                       - 일반 사용자(학생 등) 페이지 서비스 로직
│     │  │  ├─ dto/                             - 요청/응답/프로젝션 DTO
│     │  │  ├─ repos/                           - JPA 리포지토리
│     │  │  └─ util/                            - 공용 유틸(파일/암호화 등)
│     │  └─ resources/
│     │     ├─ application.properties           - 기본 설정
│     │     ├─ application-local.properties     - 로컬 설정
│     │     ├─ db/
│     │     │  ├─ schema.sql                    - 참고 스키마
│     │     │  └─ migration/                    - Flyway 마이그레이션
│     └─     └─ static/                         - 테스트용 정적 리소스(HTML 등)
└─ 📁 wecamadminbackend/                        - 관리자 웹(백오피스)
   ├─ build.gradle
   └─ src/
      ├─ main/
      │  ├─ java/org/example/wecamadminbackend/
      │  │  ├─ config/SecurityConfig.java
      │  │  ├─ controller/                      - 관리자 화면 컨트롤러
      │  │  ├─ dto/                             - 관리자 전용 DTO
      │  │  ├─ entity/                          - 관리자 도메인 엔티티
      │  │  ├─ repos/                           - 관리자 리포지토리
      │  │  └─ service/                         - 관리자 서비스/유틸
      │  └─ resources/
      │     ├─ application.properties
      │     ├─ db/migration/                    - 관리자 마이그레이션
      │     ├─ db/seed/                         - 초기 데이터 시드
      │     ├─ static/css/admin.css
      │     └─ templates/                       - Thymeleaf 템플릿
      │        ├─ layout.html
      └─        └─ admin/                       - 대시보드/조직 관리 등

4. 설치 및 사용 방법

설치

  • Docker 및 Docker Compose 설치
  • Node.js 및 npm 설치
  • Java 설치

실행 방법

Backend

git clone https://github.com/wecampus-platform/wecam-all-backend.git
cd wecam-all-backend
java -jar wecam-backend/build/libs/wecam-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=local

Frontend

npm install
npm start

Docker Compose (전체 실행 시)

docker-compose up --build

웹사이트 접속

5. 소개 및 시연 영상

default.mp4

6. 팀 소개

김예슬(대표자, 부산대학교 정보컴퓨터공학부)

  • yesul0718@pusan.ac.kr
  • 정보컴퓨터공학부 및 정보의생명공학대학 학생회장·비상대책위원장 등 다수의 학생 회 운영 실무 경험을 보유함. 실제 학생회 조직 운영과 행정 시스템의 구조적 문제를 깊이 있게 이해하고 있음.
  • 백엔드 개발(Spring Boot, Django) 및 클라우드 서비스 기반 배포 경험 보유.
  • Spring Boot 기반 서버 설계, 프론트엔드 구현 등 서비스 전반의 아키텍처를 독립적 으로 설계·운영 할 수 있는 핵심 개발 역량 보유.
  • 2025 DAIC 최우수상, 2025 AI SW 해커톤 최우수상
  • 기획·개발·학생회 실무를 아우르는 통합형 프로젝트 총괄 리더십 역량을 보유함.

김나림(프론트엔드 개발자, 부산대학교 정보컴퓨터공학부)

  • pc123@pusan.ac.kr
  • React 프레임워크, Spring Boot를 통한 프론트엔드, 백엔드 프로젝트 경험
  • 기획 및 UI/UX 설계 경험

김대욱(AI 개발자, 부산대학교 정보컴퓨터공학부)

  • kdu5233@pusan.ac.kr
  • 2023 DX CAMP 창업 부트캠프 우수상, 정보처리기사·네트워크 관리사 2급 자격증 보유
  • 2023 5th Path Hack 1위 대상(창업진흥원장상)
  • 2022~2024 정보컴퓨터공학부 ‘세론’ 재정사무부장, 2024 정보의생명공학대학 '정의' 재정사무국장
  • 2023 정보컴퓨터공학부 UNTOC 회장, 2023~2024 부산대학교 민족효원대의원총회 대의원

김동인(백엔드 개발자, 부산대학교 정보컴퓨터공학부)

  • dongin@pusan.ac.kr
  • 24, 25년도 정보컴퓨터공학부 IT서비스출시 동아리 APPTIVE 회장
  • 다양한 학과 활동 및 운영진, 자치활동 경험을 바탕으로 직군간 소통 및 협업 운영에 능함
  • 지역상생 상상해커톤 최우수상, 2025 DAIC 최우수상

김예원(UI/UX 디자이너, 부산대학교 디자인학과 디자인앤테크놀로지전공)

  • yewon1799@pusan.ac.kr
  • 외주를 통한 기획 및 개발팀과의 다양한 협업 경험 보유
  • FIgma, Adobe Photoshop, Adobe Illustrator, Blender (3D ahepffd, 렌더링 툴)등의 다양한 툴 능숙하게 활용 가능
  • 2024 예술대학 디자인학과 학생회 ‘누끼’ 학생회장

박장현(기획자, 부산대학교 경제학부)

  • jangh1519@pusan.ac.kr
  • 24년도 부산대학교 중앙동아리 회장
  • 타 학교, 동아리와 협업 경험 다수

7. 해커톤 참여 후기

  • 김예슬(대표자): 실제 사업화를 염두에 두고 구상했던 아이디어였는데, 이번 해커톤에 참여하면서 꿈꾸던 플랫폼을 직접 개발하게 되는 좋은 기회를 얻게 되었습니다. 그런점에서 초기 발판을 다질 수 있었다는 점이 가장 큰 수확이었습니다. 단순한 아이디어 구상에서 끝나는 것이 아니라, 팀 단위로 시제품을 만들고 직접 피드백을 받을 수 있었던 과정이 큰 도움이 되었습니다. 해커톤이라는 짧은 시간 속에서 기획과 개발을 동시에 진행하다 보니 우선순위를 정하고 MVP를 구현하는 능력을 배울 수 있었습니다. 완벽한 제품보다는 사용자가 체감할 수 있는 핵심 기능을 빠르게 구현하는 경험이 실제 창업 준비 과정과도 맞닿아 있음을 느꼈습니다. 팀원들과의 협업 과정에서 역할 분담과 커뮤니케이션의 중요성을 다시 한번 깨달았습니다. 기획자, 개발자, 디자이너가 각자의 강점을 살리면서도 끊임없이 의견을 교환하며 방향성을 맞춰가는 과정은 프로젝트 완성도를 높이는 데 큰 힘이 되었습니다. 기술적으로도 많은 성장이 있었습니다. Spring Boot와 Next.js를 기반으로 서비스를 개발하고, 배포 자동화와 클라우드 인프라를 활용하면서 실무에 가까운 경험을 쌓을 수 있었습니다. 이 과정은 단순히 기능 구현을 넘어서 실제 운영 가능한 서비스를 만드는 시각을 키워주었습니다. 이번 경험은 단순한 해커톤 참여가 아닌, 앞으로의 사업화 가능성을 검증한 소중한 기회였습니다. 사용자들이 실제로 겪는 문제를 해결할 수 있다는 확신을 얻었고, 이를 바탕으로 더 나아가 서비스 확장과 고도화에 도전할 수 있는 자신감을 가지게 되었습니다. 적은 인원으로 프로젝트를 완성하기 위해 잘 모르는 분야에대해 공부를 해오며 개발에 참여도 했는데, 이러한 과정을 통해 단순히 기능을 만드는 수준이 아니라, “실제 운영 가능한 서비스”를 개발하는 전체적인 흐름을 이해하게 되었고, 이는 앞으로의 프로젝트나 창업 과정에서 큰 자산이 될 것이라 확신합니다.

  • 김나림(프론트엔드 개발자):프로젝트를 진행하면서 단순히 기능 구현보다 주제 자체에 의미를 두는 것이 중요하다는 것을 느꼈다. 주변 학생회 활동을 보며 학생들이 겪는 어려움에 공감할 수 있었고, 이번 주제가 충분히 가치 있는 아이디어라는 확신을 얻었다. 직접 구현까지 이어간 것도 의미 있는 경험이었다. 이번 프로젝트는 포지션을 제대로 나누어 프론트엔드 역할을 전담해 맡아본 첫 경험이었기에 더욱 의미가 있었다. 진행 과정에서 어려움도 있었지만, 어떤 부분에 집중해야 하는지, 내 관심사와 취약점이 무엇인지 구체적으로 알 수 있었고, 앞으로의 방향을 잡는 계기가 되었다. 다만 기능 구현에 치중하느라 사용자 친화적인 요소를 충분히 고려하지 못한 점은 아쉬움으로 남았다. 이번 경험을 통해 사용자 중심의 개발의 중요성을 더욱 깨달았고, 개선해 나가야겠다는 생각을 했다. 이번 프로젝트는 단순한 기능 구현을 넘어서, 개발자로서 앞으로 무엇을 고민해야 할지 생각하게 만든 좋은 기회였다.

  • 김대욱(AI 개발자): "성장의 밀도가 달랐던 4개월의 여정". 지금까지 다양한 해커톤과 대외활동에 참여하며 대상을 수상하는 기쁨도 누려보았지만, 이번 창의융합 SW 해커톤에서의 4개월은 제게 '성장'의 의미를 새로 가르쳐주었습니다. 긴 호흡으로 프로젝트를 이끌며 마주한 수많은 어려움 속에서, 제가 맡았던 OCR 인증 기능은 가장 큰 벽이었습니다. 기술적으로 처음 시도하는 분야였기에 막막함도 느꼈지만, 끈질긴 노력으로 화면에 첫 인증 성공 메시지를 띄웠을 때의 짜릿함은 아직도 잊을 수 없습니다. 이는 단순히 기능을 완성한 것을 넘어, 스스로의 한계를 극복한 값진 경험이었습니다. 나아가, 직접 구매한 도메인에 HTTPS 인증서를 적용하여 우리가 만든 서비스를 세상에 선보였을 때, 비로소 아이디어가 현실이 되는 과정을 온몸으로 체감할 수 있었습니다. 물론, 핵심으로 기획했던 AI 개발의 깊이가 다소 부족했던 점은 아쉬움으로 남습니다. 하지만 이 아쉬움은 '다음에 더 잘 해내고 싶다'는 강력한 동기부여가 되었습니다. 이번 해커톤을 통해 얻은 끈기와 실무 역량을 자양분 삼아, 창업 트랙의 마지막 순간까지 초심을 잃지 않고 더욱 노력하는 모습을 보여드리겠습니다.

  • 김동인(백엔드 개발자): 이번 프로젝트에서 저는 협업 프로세스 정립 및 문서화, 그리고 백엔드 개발을 담당했습니다. 백엔드 개발은 새로운 기술을 구글링하거나 직접 부딪혀 해결할 수 있었지만, 이번 경험을 통해 진정으로 깨달은 것은 협업 프로세스와 팀 규칙 정립, 그리고 문서화의 중요성이었습니다. 팀원 모두가 협업 경험이 풍부하지 않았기 때문에, IT 동아리 회장을 하며 배운 협업 방식과 운영 원칙을 이번 해커톤에 적용해볼 수 있었습니다. 그러나 6명의 서로 다른 배경을 가진 사람들이 한 팀으로 움직이는 일은 쉽지 않았습니다. 특히 일주일 단위의 짧은 스프린트 속에서 진행 상황 공유와 문서화가 잘 이루어지지 않아 초반에는 삐걱거림이 많았습니다. 하지만 점차 프로세스를 정립하고 규칙을 세우면서 팀의 의사소통이 원활해졌고, 진행 상황 체크나 작업이 누락되는 일이 크게 줄었습니다. 결국 제한된 기간 안에 목표한 결과물을 완성할 수 있었던 핵심 요인이 바로 이러한 협업 체계의 정착이었다고 생각합니다. 4개월 간의 긴 시간 동안 팀원들과 함께 몰입하며 진정한 협업의 과정과 그 의미를 배울 수 있었습니다. 또한 이번 프로젝트는 저와 제 또래 학생들을 위한 서비스, 제가 직접 속해 있는 조직을 위한 서비스를 고민하고 개발했다는 점에서 큰 의미가 있었습니다. 단순히 기술을 익히는 것을 넘어, 기술을 통해 더 나은 삶과 지속 가능한 문화를 만들어갈 수 있다는 가능성을 체감했고, 개발자로서의 보람과 자부심을 크게 느낀 시간이었습니다.

  • 김예원(UI/UX 디자이너): 이전까지 다양한 프로젝트를 해봤지만, 처음으로 매주 스프린트를 통해 빠르게 기획 - 디자인 - 개발 단계를 진행해왔다. 그 과정에서 애자일 프로세스가 강조하는 스프린트의 효율성을 깨달았고, 기획자와의 지속적인 협업을 통해 제작하는 서비스에 대한 이해도를 한층 더 높일 수 있었다. 특히 실제 내가 공감하는 부부에 관한 서비스를 제작하며 사용자 입장에서 디자인을 해볼 수 있어 좋은 경험이 되었다. 배포가 끝나면 내가 만든 서비스로 실제 사용자를 받게 될텐데, 그 과정이 굉장히 기대가 된다.

  • 박장현(기획자): 프로젝트 기획자로서 제 첫 걸음은 이번 해커톤이었습니다. 매주 기획-디자인-개발로 빠르게 진행되는 스프린트 속에서, 디자이너, 개발자와 협업하며 서비스를 함께 만들어 나갔습니다. 이 과정에서 기획서, 사업계획서 등 문서만 작성해내는 것이 아니라, “기획자가 어떤 방식으로 기능을 정의해야 디자이너와 개발자 모두 작업하기 편하고, 사용자에게도 자연스러운 경험을 줄 수 있을까?”라는 질문을 끊임없이 던졌습니다. 초기에는 이러한 고민을 구두로만 공유하며 “이렇게 진행하자”는 식의 합의로 넘어가는 경우가 많았습니다. 하지만 짧은 일정 속에서 이러한 내용들이 쉽게 잊히거나, 팀원마다 다르게 해석되는 일이 반복되었고, 기능 정의나 화면 흐름에서 미묘한 인식 차이가 누적되며 실제 구현 과정에서 큰 차이로 드러나기 시작했습니다. 이를 해결하기 위해 회의 후에는 회의록과 일정으로 내용을 체계적으로 문서화하고, 데일리 스크럼을 통해 진행 상황을 공유하며 협업 방식을 개선했습니다. 이 과정을 통해 자연스럽게 프로젝트 관리 역량을 기를 수 있었고, 말로만 하는 소통이 아니라 진짜 협업을 위한 소통의 의미를 깊이 깨달았습니다. 아직 기획자로서의 여정은 걸음마 단계이지만, 저는 이 기억을 살려 앞으로도 팀이 동일한 목표를 향해 유기적으로 움직일 수 있도록 소통 구조와 협업 문화를 설계하는 기획자가 되고자 합니다. 아직 끝나지 않은 여정 속에서, 앞으로 더 큰 도전을 이어갈 제 모습을 기대해보겠습니다.

About

2025-pnu-sw-hackathon-2025-pnu-sw-SW-Hackathon-2025 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors