{"id":19982929,"url":"https://github.com/osamhack2020/app_sum_cometoosam","last_synced_at":"2026-04-11T03:11:16.181Z","repository":{"id":121692789,"uuid":"303064416","full_name":"osamhack2020/APP_SUM_ComeToOSAM","owner":"osamhack2020","description":"Smart Untact Meeting / 전문가추천시스템 APP","archived":false,"fork":false,"pushed_at":"2020-10-31T09:27:41.000Z","size":52360,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-21T11:04:02.129Z","etag":null,"topics":["android","association-matrix","big-data","firebase-auth","firebase-cloud-messaging","firebase-functions","firebase-realtime-database","firebase-storage","git","glide","java","javascript","nodejs","nosql","photoview","reranking","retrofit","social-network-analysis","social-relations","topic-sensitive"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osamhack2020.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-11T07:17:51.000Z","updated_at":"2020-10-31T09:27:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"58d262ce-ff07-4f56-ab14-47163fec5269","html_url":"https://github.com/osamhack2020/APP_SUM_ComeToOSAM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/osamhack2020/APP_SUM_ComeToOSAM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osamhack2020%2FAPP_SUM_ComeToOSAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osamhack2020%2FAPP_SUM_ComeToOSAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osamhack2020%2FAPP_SUM_ComeToOSAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osamhack2020%2FAPP_SUM_ComeToOSAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osamhack2020","download_url":"https://codeload.github.com/osamhack2020/APP_SUM_ComeToOSAM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osamhack2020%2FAPP_SUM_ComeToOSAM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276229766,"owners_count":25606954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","association-matrix","big-data","firebase-auth","firebase-cloud-messaging","firebase-functions","firebase-realtime-database","firebase-storage","git","glide","java","javascript","nodejs","nosql","photoview","reranking","retrofit","social-network-analysis","social-relations","topic-sensitive"],"created_at":"2024-11-13T04:13:26.680Z","updated_at":"2025-09-21T11:06:43.745Z","avatar_url":"https://github.com/osamhack2020.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 프로젝트 소개\n\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/mainLogo2.png\"\u003e\u003c/p\u003e\n\n- SUM(Smart+Untact+Meeting)은 군 생활을 하는 장병 및 군무원들을 대상으로 각 분야의 인재(전문가)와 비대면 소통할 수 있는 커뮤니티 앱 플랫폼입니다. 사용자가 선택한 분야와 개인관계지수를 고려하여, 개인에게 필요한 맞춤 전문가를 찾아주어 업무를 수행함에 있어 적시에 실질적인 도움을 받을 수 있는 커뮤니티 플랫폼을 목표로 하고있습니다. \n\n\u003ca href=\"https://youtu.be/_ZvgSkNEopI\"\u003e\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/video.PNG\"\u003e\u003c/p\u003e\u003c/a\u003e\n\n## 필요성\n* 현 실태(문제점)\n  * 軍에는 다양한 분야의 전문가들이 있지만 그들의 역량 및 노하우를 손쉽게 공유하거나 획득하는 것이 어려움\n* 해결방안\n  * 분야별 __최적의 전문가를 추천해주고 상호 소통__ 가능한 시스템을 __접근성이 높은 'APP'__ 으로 구현\n\n\n## 기능 설계\n\n### 어플리케이션 화면\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cimg src=\"/DocsImages/1.jpg\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cimg src=\"/DocsImages/2.jpg\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cimg src=\"/DocsImages/3.jpg\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cimg src=\"/DocsImages/4.jpg\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cimg src=\"/DocsImages/5.jpg\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cp align=\"center\"\u003e도움이 필요한 \u003cbr\u003e 분야 선택\u003c/p\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cp align=\"center\"\u003e분야별 전문가 \u003cbr\u003e Reranking\u003c/p\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cp align=\"center\"\u003e개인관계지수를 \u003cbr\u003e 고려한 추천\u003c/p\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cp align=\"center\"\u003e전문분야, 개인관계 \u003cbr\u003e 맞춤 분석 추천\u003c/p\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cp align=\"center\"\u003e비대면 소통으로 \u003cbr\u003e 신속한 도움\u003c/p\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### 다양한 추천 방식 및 카테고리 적용\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"200\" src=\"/DocsImages/CPA1.jpg\"\u003e\u003c/p\u003e\n\n* 다양한 추천 방식\n  * 개인관계지수(사용자간의 관계만을 고려)\n  * 전문가지수(해당분야의 전문성만 고려)\n  * 복합지수(개인관계지수와 전문가 지수를 모두고려)\n* 카테고리별 최적의 전문가 검색 및 재정렬(Reranking)\n  * 초기버전 적용분야 : 어학, 전투능력, 전산, 행정, 법\n  * 추후 다양한 분야 추가 예정\n  \n### 추천받은 전문가의 프로필을 통한 관계도, 전문성을 고려한 실시간 소통\n\u003cp align=\"center\"\u003e\u003cimg width=\"200\" src=\"/DocsImages/CPA2.png\"\u003e\u003c/p\u003e\n\n## 추천 알고리즘\n### Topic Sensitive_Social Relation Rank Algorithm\n* 사용자들이 갖는 내재적 속성과 토픽 간에 상호 연관성을 고려하여 소셜관계 지수 계산 및 전문가 추천\n* Association Matrix : 내재적 속성이 토픽에 영향을 받으면 '1', 영향을 받지 않으면 '0' 부여\n\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/mat.PNG\"\u003e\u003c/p\u003e\n\n* 토픽에 영향을 받을 때 사용자 간의 소셜관계 랭크 및 전문가 추천 식 적용\n\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/sick.PNG\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/algor.png\"\u003e\u003c/p\u003e\n\n\u003e Kim, Young-an, and Gun-woo Park. \"Topic sensitive_social relation rank algorithm for efficient social search.\" The Journal of Korean Institute of Communications and Information Sciences 38.5 (2013): 385-393.\n\n### API 설계 (Firebase Cloud Functions)\n* addIndexExpert\n  * 전문가 지수 계산을 위한 데이터 전처리\n  * Parameter : uid (현재 계정 ID)\n* addIndexIntimacy\n  * 개인관계 지수 계산을 위한 데이터 전처리\n  * Parameter : uid (현재 계정 ID)\n* getRelationalMatrix\n  * 전문가 추천도 계산 및 결과 반환\n  * Parameter : uid (현재 계정 ID)\n  * Return : 전문가 정보, 개인관계 지수, 전문가 지수 결과 (Matrix 형태)\n\n### DB 설계 (Firebase Realtime Database, NoSQL)\n* 주요 Key\n  * Chatlist : 대화방 정보\n  * Chats : 실시간 대화 정보\n  * IndexExpert : 전문가 지수 계산에 사용\n  * IndexIntimacy : 개인관계 지수 계산에 사용\n  * MyUsers : User 정보\n  * Tokens : 기기 정보 (Firebase Cloud Messaging, Notification에 사용)\n\n## 기대 효과\n### AI기반 스마트 인재관리시스템 발판 마련\n* AI기반 원천기술 확보\n  * 국방인사정보체계(국방부), 인터넷 공개자료(SNS, 블로그 등) 수집 및 연동하여 빅데이터 분석가능\n* 인재획득\n  * 추후 확보된 원천 기술을 통해서 적격자 추천 및 선발 결과를 자동 분석가능\n* 전역지원\n  * 취업역량 강화, 전역장병 만족도 제고\n* 인재 양성/운영\n  * 맞춤식 자기개발 추천 및 인사관리를 통해 필요한 인재육성 및 적재적소 운영가능\n\n## 어플리케이션 구동 환경\n* 최소 사양 : Android 4.1 (Jelly Bean)\n\n## 설치 안내 (Installation Process)\n* APK 설치파일  : \u003ca href=\"/Installation_SUM.apk\" download\u003eSUM 설치파일\u003c/a\u003e\n  * APK 파일 실행을 위해 출처를 알 수 없는 앱 설치를 허용해주십시오.\n\n## 프로젝트 사용법 (Getting Started)\n* 저장소 클론\n```\ngit clone https://github.com/osamhack2020/APP_SUM_ComeToOSAM.git\n```\n* FrontEnd (Android)\n```\n// APP 프로젝트 열기\nAndroid Studio \u003e File \u003e Open \u003e ../APP_SUM_ComeToOSAM/FrontEnd 클릭 \u003e OK\n```\n* BackEnd (Node Js)\n```\n// 경로 이동\n$ cd APP_SUM_ComeToOSAM\n$ cd BackEnd\n// Node.js 및 npm이 설치되었으면 원하는 방법으로 Firebase CLI를 설치\n$ npm install -g firebase-tools\n// Firebase 도구 인증\n$ firebase login\n// Firebase 함수(./functions/index.js) 수정 후 배포\n$ firebase deploy\n// 자세한 사항은 아래 'Firebase 가이드' 참조\n```\n_서버(BackEnd) 수정 후 배포를 위해 Firebase Project의 User로 추가되고 권한이 있어야합니다. 현재 프로젝트의 권한을 획득하시려면 baesungjin1996@gmail.com으로 메일을 주거나, 아래 가이드를 참고하여 새로운 프로젝트를 생성하여 진행하십시오._\n* [Firebase 가이드](https://firebase.google.com/docs/guides)\n\n## 기술 스택\n\u003cp align=\"center\"\u003e\u003cimg src=\"/DocsImages/STACK.PNG\"\u003e\u003c/p\u003e\n\n### Back-End\n* Firebase Authentication\n* Cloud Function for Firebase\n* Firebase Realtime Database\n* Firebase Cloud Messaging\n* Node Js\n\n### Front-End\n* Android (JAVA)\n* Glide\n* Retrofit\n* PhotoView\n\n### MNG\n* GitHub\n\n## 팀 정보 (Team Information)\n- 팀장 김영인 duddls4471 duddls4471@naver.com\n- 팀원 배성진 SharkBSJ sjbea1996@naver.com\n- 팀원 박정선 sunimooni jspark7373@naver.com\n- 팀원 구예빈 beenduri gyb0534@naver.com\n\n## 저작권 및 사용권 정보 (Copyleft / End User License)\n* 라이센스 : \u003ca href=\"/LICENSE.md\"\u003eMIT\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosamhack2020%2Fapp_sum_cometoosam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosamhack2020%2Fapp_sum_cometoosam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosamhack2020%2Fapp_sum_cometoosam/lists"}