{"id":21857361,"url":"https://github.com/stringbuckwheat/oongle-oongle-nest","last_synced_at":"2026-05-08T13:04:38.232Z","repository":{"id":215229963,"uuid":"730577064","full_name":"stringbuckwheat/oongle-oongle-nest","owner":"stringbuckwheat","description":"board with chatting","archived":false,"fork":false,"pushed_at":"2024-02-19T06:41:10.000Z","size":999,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T14:11:23.199Z","etag":null,"topics":["nestjs","typeorm","typescript","websocket"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/stringbuckwheat.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":"2023-12-12T08:22:36.000Z","updated_at":"2024-02-06T03:59:48.000Z","dependencies_parsed_at":"2024-02-19T07:49:44.227Z","dependency_job_id":null,"html_url":"https://github.com/stringbuckwheat/oongle-oongle-nest","commit_stats":null,"previous_names":["stringbuckwheat/nest-board"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stringbuckwheat%2Foongle-oongle-nest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stringbuckwheat%2Foongle-oongle-nest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stringbuckwheat%2Foongle-oongle-nest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stringbuckwheat%2Foongle-oongle-nest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stringbuckwheat","download_url":"https://codeload.github.com/stringbuckwheat/oongle-oongle-nest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244853866,"owners_count":20521370,"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","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":["nestjs","typeorm","typescript","websocket"],"created_at":"2024-11-28T02:27:43.543Z","updated_at":"2026-05-08T13:04:33.205Z","avatar_url":"https://github.com/stringbuckwheat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 웅글웅글\n- [웅글웅글](#----)\n    * [✔ Oongle-Oongle?](#--oongle-oongle-)\n    * [✔ Key Features](#--key-features)\n    * [✔ Tech Stack](#--tech-stack)\n- [📝 API Documentation](#---api-documentation)\n    * [✔ REST API Doc](#--rest-api-doc)\n    * [✔ WebSocket Doc](#--websocket-doc)\n        + [- Alarm](#--alarm)\n        + [- Chat](#--chat)\n\n## ✔ Oongle-Oongle?\n채팅과 게시판을 결합한 커뮤니티 프로젝트의 Backend API 입니다.\n\nNestJS와 WebSocket 학습을 위한 프로젝트입니다.\n\n## ✔ Key Features\n* 채팅 기능: 실시간으로 소통하고 대화할 수 있는 **1:1, 단체 채팅** 기능을 제공합니다.\n* **게시판** 기능: 게시물을 작성하고 소통할 수 있는 게시판이 포함되어 있습니다.\n* 익명 회원 기능: **익명으로 게시글 및 댓글을 작성**할 수 있어 더 자유로운 의견을 표현할 수 있습니다.\n* 다양한 로그인 방식: **로컬** 로그인 및 **OAuth2**를 통한 로그인을 지원합니다.\n\n## ✔ Tech Stack\n* NestJS(10)\n  * TypeORM\n  * WebSocket, Socket.IO\n  * Passport, OAuth2\n* MariaDB(10.3)\n\n# 📝 API Documentation\n\n## ✔ REST API Doc\n\n[API 문서는 이곳](https://stringbuckwheat.github.io/oongle-api/)을 방문해주세요!\n\n배포하지 않은 API라 **'Try-it-out' 기능은 동작하지 않습니다.**\n\n## ✔ WebSocket Doc\n\n### - Alarm\n\n 이벤트(경로)                | 핸들러                  | 설명                        | 클라이언트                                   \n------------------------|----------------------|---------------------------|----------------------------------------\n join\u003cbr\u003e`alarm/join`       | handleJoin           | 특정 사용자가 알림 소켓 방에 참여       \n comment\u003cbr\u003e`alarm/comment` | handleCommentCreated | 새 댓글 알림                   | `socket.on(\"comment\", callback)`으로 이벤트 수신  \n chat\u003cbr\u003e`alarm/chat`       | handleNewChat        | 새로운 채팅방 생성 및 참여자들에게 알림 전송 | `chat`\n\n### - Chat\n\n이벤트(경로)  | 핸들러 | 설명                         | 클라이언트\n--- | --- |-------------------|-----------------------------\njoin/userId\u003cbr\u003e`chat/join/{userId}` | joinChatRoomByUserIds  | 참가자들의 PK 배열로 채팅방 조회/생성 |`chat/user/join`\njoin\u003cbr\u003e`chat/join` | joinChatRoomByChatRoomId | 채팅방 PK로 채팅방 입장            |`chat/user/join`            \nsend\u003cbr\u003e`chat/send` | handleMessage  | 채팅방 메시지 수신 및 클라이언트 알림                 | * `chat/receive`: 채팅방에 메시지 추가 \u003cbr\u003e* `chat/notification`: 실시간 알림","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstringbuckwheat%2Foongle-oongle-nest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstringbuckwheat%2Foongle-oongle-nest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstringbuckwheat%2Foongle-oongle-nest/lists"}