{"id":19196483,"url":"https://github.com/beberiche/helloworld","last_synced_at":"2026-04-10T13:31:04.116Z","repository":{"id":111897692,"uuid":"569080605","full_name":"beberiche/HelloWorld","owner":"beberiche","description":"프리토킹을 위한 자유로운 대화가 가능한 랜덤 화상채팅","archived":false,"fork":false,"pushed_at":"2022-11-22T03:20:30.000Z","size":94069,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T13:59:39.946Z","etag":null,"topics":["css-modules","jpa","kurentomediaserver","lombok","mysql","openvidu","react","redis","redux","spring-boot","spring-oauth2","spring-security"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/beberiche.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}},"created_at":"2022-11-22T03:09:09.000Z","updated_at":"2023-04-13T07:06:51.000Z","dependencies_parsed_at":"2023-05-06T00:01:21.347Z","dependency_job_id":null,"html_url":"https://github.com/beberiche/HelloWorld","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/beberiche/HelloWorld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beberiche%2FHelloWorld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beberiche%2FHelloWorld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beberiche%2FHelloWorld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beberiche%2FHelloWorld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beberiche","download_url":"https://codeload.github.com/beberiche/HelloWorld/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beberiche%2FHelloWorld/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31645172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"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":["css-modules","jpa","kurentomediaserver","lombok","mysql","openvidu","react","redis","redux","spring-boot","spring-oauth2","spring-security"],"created_at":"2024-11-09T12:13:49.202Z","updated_at":"2026-04-10T13:31:04.093Z","avatar_url":"https://github.com/beberiche.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\n## 프로젝트 이름 및 설명\n\n\n\n![KakaoTalk_20220817_225801694.png](./image/KakaoTalk_20220817_225801694.png)\n\n### **프리토킹**을 위한 자유로운 대화가 가능한 랜덤 화상채팅\n\n## 팀원 소개\n\n\n\n![Untitled](./image/Untitled.png)\n\n## 프로젝트 정보\n\n### 프로젝트 진행 기간\n\n- 2022년 7월 11일 ~ 2022년 8월 19일 (6주)\n\n### 기획의도\n\n- 언제 어디에서나 가볍게 언어교환을 할 수 있는 공간이 있으면 좋겠다.\n- 외국인 울렁증 고치고 싶다!\n- 내 생각을 외국어로 바로바로 전달하고 싶다!\n\n⇒ 그런 환경을 우리가 만들어보자!\n\n### 이런 포맷은 많은 편, 근데 차별점은?\n\n- 매칭까지는 우리가 해준다, 다만 대화는 너희가 알아서 해라!\n    - 실전 경험이 처음인 사람들을 위한 유익한 기능을 제공해주면 좋겠다\n    - 아이스브레이킹을 위해 주제를 던진다거나… (최근 뉴스, 오픽, 토스 단골 질문)\n- 첫 취지는 실전 경험 및 공부를 위한 목적\n    - 문란한 소재들을 제거해보자\n    - 신고 기능 구현\n    \n\n## 기술스택 및 개발환경\n\n\n\n### 프론트엔드\n\n- React : 18.2.0\n- Redux : 8.0.2\n- CSS Module\n\n### 백엔드\n\n- Spring boot : 2.4.5\n- Spring Data Jpa : 2.4.5\n- Spring Security : 2.4.5\n- Spring Oauth2 : 2.4.5\n- Lombok : 1.18.20\n\n### WebRTC\n\n- kurento media server : 6.16.0\n- coturn-openvidu: 2.22.0\n\n### OS\n\n- Windows 10\n\n### IDE\n\n- Visual Studio Code : 1.70\n- IntelliJ IDEA Ultimate : 2022.2\n\n### DB\n\n- MySQL : 8.0.30\n- Redis : 7.0.4\n\n### Server\n\n- Ubuntu 20.04\n\n## 프로젝트 산출물\n\n\n\n### ERD\n\n![스크린샷 2022-07-17 오후 8.39.46.png](./image/erd.png)\n\n### 와이어프레임 \u0026 프로토타이핑\n\n[https://www.figma.com/file/OqoGzyfLCQ1rtuvCJvuIwr/HelloWorld?node-id=0%3A1](https://www.figma.com/file/OqoGzyfLCQ1rtuvCJvuIwr/HelloWorld?node-id=0%3A1)\n\n![Untitled](./image/Untitled_1.png)\n\n### API 명세서\n\nhttps://subsequent-tuberose-06f.notion.site/f498d3e543d843f2ab3258f553207fa6?v=e5bcbb068609417096d27ebc32cd0d65\n\n## 주요 기능\n\n\n\n### 1:1 화상채팅\n\n- 랜덤으로 매칭, 5분이 지나면 로테이션\n- 선행 규칙\n    - 두 유저 가운데, 룸을 생성하는 사람을 룸 생성자라고 규정\n    - 두 유저 가운데, 존재하는 룸에 참여하는 사람을 룸 입장자라고 규정\n    - 룸에 유저가 적합한지 분류할 수 있는 기준 필요\n        - ex: 영어, 중국어, 일본어 등\n    - 룸 데이터와 socket 인스턴스는 별도로 관리\n        - ex: Redux와 같은 상태관리 라이브러리\n- 로직 구현 순서\n    \n    ![Untitled](./image/Untitled_2.png)\n    \n\n### VIP\n\n- 대화 시간을 연장할 수 있음\n- 대화에 필요한 주제를 랜덤으로 제공\n\n### 하트\n\n- 대화 후 상대방에게 하트를 건넬 수 있음\n- 하트 5개를 사용해 시간 연장이 가능\n\n### 그 외\n\n- 신고 기능\n- 공지사항, 대화에 도움이 될 만한 팁 등을 설명하는 포스트를 메인 화면에서 제공\n\n## 결과 예시 화면 및 UCC 링크 {- 유튭 스크린샷 / GIF 넣기 / 유툽링크}\n\n\n\n### 유튜브링크\n\n[https://www.youtube.com/watch?v=8ZY0X5w0Hig](https://www.youtube.com/watch?v=8ZY0X5w0Hig)\n\n![Untitled](./image/Untitled_3.png)\n\n![Untitled](./image/Untitled_4.png)\n\n![Untitled](./image/Untitled_5.png)\n\n![Untitled](./image/Untitled_6.png)\n\n![Untitled](./image/Untitled_7.png)\n\n---\n\n### 랜딩 페이지\n\n![프로젝트 링크 접속 시 가장 먼저 나오는 페이지입니다.](./image/KakaoTalk_20220819_115037973.gif)\n\n▲ 프로젝트 링크 접속 시 가장 먼저 나오는 페이지입니다.\n\n### 회원가입\n\n![올바른 이메일과 비밀번호 등의 회원 정보를 입력합니다.](./image/KakaoTalk_20220819_113829867.gif)\n\n▲ 올바른 이메일과 비밀번호 등의 회원 정보를 입력합니다.\n\n![국적, 언어, 프로필 이미지를 설정하고 개인정보 처리방침에 동의하면 회원가입이 완료됩니다.](./image/KakaoTalk_20220819_113829724.gif)\n\n▲ 국적, 언어, 프로필 이미지를 설정하고 개인정보 처리방침에 동의하면 회원가입이 완료됩니다.\n\n### 포스트\n\n![공지사항, 나라별 문화 등의 내용이 등록된 포스트를 볼 수 있습니다.](./image/KakaoTalk_20220819_113829414.gif)\n\n▲ 공지사항, 나라별 문화 등의 내용이 등록된 포스트를 볼 수 있습니다.\n\n### 매칭 \u0026 미팅\n\n![매칭을 시작했을 때 로딩 화면 \u0026 매칭 성공 5초 후 미팅 페이지로 이동합니다](./image/KakaoTalk_20220819_113829143.gif)\n\n▲ 매칭을 시작했을 때 로딩 화면 \u0026 매칭 성공 5초 후 미팅 페이지로 이동합니다.\n\n![마이크 \u0026 카메라 ON/OFF \u0026 채팅 기능 테스트](./image/KakaoTalk_20220819_113828993.gif)\n\n▲ 마이크 \u0026 카메라 ON/OFF \u0026 채팅 기능을 테스트하는 모습입니다.\n\n![하트 보내기 기능](./image/KakaoTalk_20220819_113828787.gif)\n\n▲ 하트 보내기 기능을 테스트하는 모습입니다.\n\n![좌하단에 제공되는 질문 예시 텍스트](./image/KakaoTalk_20220819_113828535.gif)\n\n▲ 좌하단에는 질문 예시 텍스트가 제공됩니다.\n\n![설정 페이지](./image/KakaoTalk_20220819_121708560.gif)\n\n▲ 설정 페이지로 이동했을 때의 모습입니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeberiche%2Fhelloworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeberiche%2Fhelloworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeberiche%2Fhelloworld/lists"}