{"id":25425599,"url":"https://github.com/soyoungpark-me/team-project-dna","last_synced_at":"2026-04-01T23:01:49.744Z","repository":{"id":127310292,"uuid":"144596146","full_name":"soyoungpark-me/team-project-DNA","owner":"soyoungpark-me","description":":mortar_board: 2018 graduation work, Location-based messenger","archived":false,"fork":false,"pushed_at":"2018-12-17T04:33:12.000Z","size":35344,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T12:23:46.647Z","etag":null,"topics":["aws","aws-lambda","docker","elasticsearch","jenkins","mongodb","nodejs","react","redis","socket-io"],"latest_commit_sha":null,"homepage":"https://dna.soyoungpark.me","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soyoungpark-me.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2018-08-13T15:06:24.000Z","updated_at":"2023-12-18T01:53:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba2cbd03-42f9-4f1f-bbd5-114e1df5806a","html_url":"https://github.com/soyoungpark-me/team-project-DNA","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/soyoungpark-me/team-project-DNA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soyoungpark-me%2Fteam-project-DNA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soyoungpark-me%2Fteam-project-DNA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soyoungpark-me%2Fteam-project-DNA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soyoungpark-me%2Fteam-project-DNA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soyoungpark-me","download_url":"https://codeload.github.com/soyoungpark-me/team-project-DNA/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soyoungpark-me%2Fteam-project-DNA/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31036729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T07:48:52.080Z","status":"ssl_error","status_checked_at":"2026-03-27T07:48:19.562Z","response_time":164,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aws","aws-lambda","docker","elasticsearch","jenkins","mongodb","nodejs","react","redis","socket-io"],"created_at":"2025-02-16T23:46:25.005Z","updated_at":"2026-04-01T23:01:49.723Z","avatar_url":"https://github.com/soyoungpark-me.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DNA (Dear, Nearby Anyone)\n\n![소개 이미지](https://blogfiles.pstatic.net/MjAxODA4MTRfMTky/MDAxNTM0MTc3NzY1MTM0.NCF4J6dMHOkkdIOZfhedD3jE3ClrDsU62BCsdAeryVog.SYjZhtyBsQAmZE8KFL6X0tSj9-sHzwbr3qhSbeTFfWYg.PNG.3457soso/title.png)\n\n* 2018년 2학기의 졸업작품 프로젝트를 위한 저장소입니다.\n* README에 개발하면서 힘들었던 점, 깊게 고민이 필요했던 점 등에 대해 **일지 형식**으로 기록하고 있습니다.\n\n\n\n------\n\n## 목차\n\n1. #### [프로젝트 소개](#프로젝트-소개-1)\n\n2. #### [프로젝트 아키텍처 구조도](#프로젝트-아키텍처-구조도-1)\n\n3. #### [스크린샷](#스크린샷-1)\n\n4. #### [역할 분담 및 개발 일지](#역할-분담-및-개발-일지-1)\n\n   \n\n***\n\n## 프로젝트 소개\n\n##### **\"특별한 이벤트가 일어나는 공간에 있는 사람만 느낄 수 있는 감정과 생각을, 부담없이 공유할 수 있는 서비스를 만들어 보고 싶습니다.**\"\n\n![포스터](https://github.com/3457soso/team-project-DNA/blob/master/Resource/DNA_poster.png?raw=true)\n\n\n\n- **발표 자료 :** [DNA_project](https://github.com/3457soso/team-project-DNA/blob/master/Resource/DNA_project.pdf)\n\n- 실시간이면서 다량의 요청이 들어오는 서비스를 개발해 보고 싶었고, 만들고 직접 써보기에 재미있는 주제를 정해 최대한 완성도를 높여서 완성하고, 실제로 **배포까지** 해보는 것을 목표로 주제를 잡았습니다.\n\n- 현 위치를 기준으로 **지정한 반경 내에서 작성된 채팅만 보여주는** 서비스로, 이 외에도 포스팅, 친구, DM 등 다양한 기능들이 기획되어 있습니다.\n\n  \n\n***\n\n## 프로젝트 아키텍처 구조도\n\n#### 2018.09.01 : 성능 개선 전\n\n![아키텍처 구조1](https://github.com/3457soso/team-project-DNA/raw/master/Resource/Arcitecture_Design_0901.png)\n\n기능 구현을 모두 완료한 상태의 구조입니다.\n\n\n\n#### 2018.09.17 : 성능 개선 후\n\n![아키텍처 구조2](https://github.com/3457soso/team-project-DNA/raw/master/Resource/Arcitecture_Design_0916.png)\n\n프로젝트를 모두 끝낸 이후 상태의 구조입니다.\n\n- **2018.09.09 : AWS lambda 추가**\n- **2018.09.11 : RabbitMQ 추가**\n- **2018.09.17 : Socket Server Scale out**\n\n\n\n------\n\n## 스크린샷\n\n#### 회원가입\n\n![회원가입](https://github.com/3457soso/team-project-DNA/blob/master/Resource/ScreenShot_Register.png?raw=true)\n\n회원가입 후 로그인을 통해 서비스를 이용할 수 있습니다!\n\n\n\n#### 위치 기반 채팅\n\n![채팅](https://github.com/3457soso/team-project-DNA/blob/master/Resource/ScreenShot_Chat.png?raw=true)\n\n프로젝트의 메인 기능으로, 특정 반경 내의 유저들과 메시지를 주고 받을 수 있습니다.\n\n\n\n#### DM (Direct Message)\n\n![DM](https://github.com/3457soso/team-project-DNA/blob/master/Resource/ScreenShot_DM.png?raw=true)\n\n친구로 추가한 사용자들과는 1:1로 DM을 주고 받을 수 있습니다.\n\n\n\n***\n\n## 역할 분담 및 개발 일지\n\n### 맡은 부분\n\n프로젝트에서 저는 **인증 구현, 서버 개발, 웹 클라이언트 개발, 안드로이드 클라이언트 UI 개발**을 담당했고, 주요 기술로 Node.js와 Socket.IO, 데이터 베이스로 MongoDB, 세션 저장소로 Redis, 웹 프레임워크로 React를 사용했습니다. \n\n\n\n### 개발 일지\n\n개발하면서 고민이 필요했던 부분, 추가적으로 공부가 필요했던 부분들에 대해 일지 형식으로 기록했습니다.\n\n직접 부딪히며 공부해 적용한 기술들이라 틀린 부분이 있을 수 있습니다! (많이 틀렸을 것 같습니다...)\n\n| 번호 |    날짜    | 내용 (링크)                                                  |\n| :--: | :--------: | ------------------------------------------------------------ |\n|  01  | 2018.08.01 | [**JWT로 인증 서버 구현하기**](https://github.com/3457soso/project_DNA/blob/master/devLog/2018.08.01%20:%20JWT%EB%A1%9C%20%EC%9D%B8%EC%A6%9D%20%EC%84%9C%EB%B2%84%20%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0.md) |\n|  02  | 2018.08.06 | [**Jenkins, Docker로 지속적 배포(CD) 도전하기**](https://github.com/3457soso/project_DNA/blob/master/devLog/2018.08.06%20:%20Jenkins%2C%20Docker%EB%A1%9C%20%EC%A7%80%EC%86%8D%EC%A0%81%20%EB%B0%B0%ED%8F%AC(CD)%20%EB%8F%84%EC%A0%84%ED%95%98%EA%B8%B0.md) |\n|  03  | 2018.08.08 | [**MongoDB와 Mongoose를 이용한 위치 기반 서비스 개발 (작성중)**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.08%20:%20MongoDB%EC%99%80%20Mongoose%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%9C%20%EC%9C%84%EC%B9%98%20%EA%B8%B0%EB%B0%98%20%EC%84%9C%EB%B9%84%EC%8A%A4%20%EA%B0%9C%EB%B0%9C.md) |\n|  04  | 2018.08.09 | [**MongoDB에 AWS ElasticSearch, Kibana 연동하기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.09%20:%20MongoDB%EC%97%90%20AWS%20ElasticSearch%2C%20Kibana%20%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0.md) |\n|  05  | 2018.08.13 | [**https 환경 구축하기**](https://github.com/3457soso/project_DNA/blob/master/devLog/2018.08.13%20:%20SSL%EC%9D%84%20%EC%9D%B4%EC%9A%A9%ED%95%B4%20https%20%ED%99%98%EA%B2%BD%20%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0.md) |\n|  06  | 2018.08.15 | [**라즈베리파이로 서버 구축하기**](https://github.com/3457soso/project_DNA/blob/master/devLog/2018.08.15%20:%20%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4%EB%A1%9C%20%EC%84%9C%EB%B2%84%20%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0.md) |\n|  07  | 2018.08.20 | [**리액트로 웹 프론트엔드 구현하기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.20%20:%20%EB%A6%AC%EC%95%A1%ED%8A%B8%EB%A1%9C%20%EC%9B%B9%20%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C%20%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0.md) |\n|  08  | 2018.08.22 | [**실시간 서비스를 위해 socket.io 이용하기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.22%20:%20%EC%8B%A4%EC%8B%9C%EA%B0%84%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A5%BC%20%EC%9C%84%ED%95%B4%20Socket.io%20%EC%9D%B4%EC%9A%A9%ED%95%98%EA%B8%B0.md) |\n|  09  | 2018.08.24 | [**Redis의 Geo API 사용하기 (작성중)**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.24%20:%20Redis%EC%9D%98%20Geo%20API%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.md) |\n|  10  | 2018.08.28 | [**배포와 함께 CORS 문제 극복하기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.28%20:%20%EB%B0%B0%ED%8F%AC%EC%99%80%20%ED%95%A8%EA%BB%98%20CORS%20%EB%AC%B8%EC%A0%9C%20%EA%B7%B9%EB%B3%B5%ED%95%98%EA%B8%B0.md) |\n|  11  | 2018.08.31 | [**주요 기능의 백엔드 개발을 끝마친 후기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.08.31%20:%20%EC%A3%BC%EC%9A%94%20%EA%B8%B0%EB%8A%A5%EC%9D%98%20%EB%B0%B1%EC%97%94%EB%93%9C%20%EA%B0%9C%EB%B0%9C%EC%9D%84%20%EB%81%9D%EB%A7%88%EC%B9%9C%20%ED%9B%84%EA%B8%B0.md) |\n|  12  | 2018.09.05 | [**채팅 서버의 성능 개선을 위한 부하 테스트**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.09.05%20:%20%EC%B1%84%ED%8C%85%20%EC%84%9C%EB%B2%84%EC%9D%98%20%EC%84%B1%EB%8A%A5%20%EA%B0%9C%EC%84%A0%EC%9D%84%20%EC%9C%84%ED%95%9C%20%EB%B6%80%ED%95%98%20%ED%85%8C%EC%8A%A4%ED%8A%B8.md) |\n|  13  | 2018.09.09 | [**성능 개선 1) AWS Lambda를 이용한 서버리스 이미지 리사이징**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.09.09%20:%20%EC%84%B1%EB%8A%A5%20%EA%B0%9C%EC%84%A0%201\\)%20AWS%20Lambda%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%9C%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%A6%AC%EC%82%AC%EC%9D%B4%EC%A7%95.md) |\n|  14  | 2018.09.11 | [**성능 개선 2) RabbitMQ를 통해 소켓 서버 기능 분할하기**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.09.11%20:%20%EC%84%B1%EB%8A%A5%20%EA%B0%9C%EC%84%A0%202\\)%20RabbitMQ%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EC%86%8C%EC%BC%93%20%EC%84%9C%EB%B2%84%20%EA%B8%B0%EB%8A%A5%20%EB%B6%84%ED%95%A0%ED%95%98%EA%B8%B0.md) |\n|  15  | 2018.09.14 | [**성능 개선 3) 타일 도입! Redis 내의 모든 세션을 끌고 오지 말자**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.09.14%20:%20%EC%84%B1%EB%8A%A5%20%EA%B0%9C%EC%84%A0%203\\)%20%ED%83%80%EC%9D%BC%20%EB%8F%84%EC%9E%85!%20Redis%20%EB%82%B4%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EC%84%B8%EC%85%98%EC%9D%84%20%EB%81%8C%EA%B3%A0%20%EC%98%A4%EC%A7%80%20%EB%A7%90%EC%9E%90.md) |\n|  16  | 2018.09.17 | [**성능 개선 4) HAProxy를 통한 SocketServer의 ScaleOut**](https://github.com/3457soso/team-project-DNA/blob/master/devLog/2018.09.17%20:%20%EC%84%B1%EB%8A%A5%20%EA%B0%9C%EC%84%A0%204\\)%20HAProxy%EB%A5%BC%20%ED%86%B5%ED%95%9C%20SocketServer%EC%9D%98%20ScaleOut.md) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoyoungpark-me%2Fteam-project-dna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoyoungpark-me%2Fteam-project-dna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoyoungpark-me%2Fteam-project-dna/lists"}