{"id":21920715,"url":"https://github.com/josh012006/prodigy_fs_04","last_synced_at":"2026-01-25T15:02:50.395Z","repository":{"id":252680852,"uuid":"840804676","full_name":"Josh012006/PRODIGY_FS_04","owner":"Josh012006","description":"A real time chat application done using the WebSockets and Next.js. I've called it Echo.","archived":false,"fork":false,"pushed_at":"2025-07-25T08:23:27.000Z","size":34181,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-09T15:31:58.492Z","etag":null,"topics":["mongodb","mongoose","nextjs","reduxtoolkit","typescript","websockets"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Josh012006.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":"2024-08-10T18:25:40.000Z","updated_at":"2025-07-25T08:23:31.000Z","dependencies_parsed_at":"2024-08-22T19:01:23.416Z","dependency_job_id":null,"html_url":"https://github.com/Josh012006/PRODIGY_FS_04","commit_stats":null,"previous_names":["josh012006/prodigy_fs_04"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Josh012006/PRODIGY_FS_04","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Josh012006%2FPRODIGY_FS_04","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Josh012006%2FPRODIGY_FS_04/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Josh012006%2FPRODIGY_FS_04/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Josh012006%2FPRODIGY_FS_04/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Josh012006","download_url":"https://codeload.github.com/Josh012006/PRODIGY_FS_04/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Josh012006%2FPRODIGY_FS_04/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28754807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T13:59:49.818Z","status":"ssl_error","status_checked_at":"2026-01-25T13:59:33.728Z","response_time":113,"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":["mongodb","mongoose","nextjs","reduxtoolkit","typescript","websockets"],"created_at":"2024-11-28T20:16:01.396Z","updated_at":"2026-01-25T15:02:50.364Z","avatar_url":"https://github.com/Josh012006.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Preview\n\u003cimg alt=\"preview1\" src=\"public/preview1.jpg\" /\u003e \n\u003cimg alt=\"preview2\" src=\"public/preview2.jpg\" /\u003e \n\u003cimg alt=\"preview3\" src=\"public/preview3.jpg\" /\u003e \n\n## About the project\nThe project is a real-time chat app. It helped me explore websocket.\n\n## How it works\nThe users have conversations and groups. They also have a profile to manage their information.\n\nSo how it works! Their are user, conversation, group and message models. The user can search a friend already on the app with its mail. Their conversation is then added and they can receive messages from each other using the websocket. The messages can be text, images or even videos. The messages are also saved so that the users can access the chat history.\n\nGroups can also be created with more than 2 users if needed! It enable communication between much more users on the same subject.\n\n## How to start\nThere are certain essentials steps you must follow after **cloning the project**, in other to be able to use the app properly.\n\nFirst you need to **create a database**.\n\nSecondly, you must **fill the .env file in the root directory** with the good environnement variables:\nMONGO_URI=\nNEXT_PUBLIC_API_URL=\nJWT_SECRET=\n\nAlso **fill the .env file in the server file** with the good environnement variables:\nMONGO_URI=\n\nThirdly, you run the app:\n**npm i** in the root directory\n**npm run dev** in the root directory\n**cd server \u0026\u0026 npm i**\n**cd server \u0026\u0026 npm start**\n**cd server \u0026\u0026 npm run watch**\n\n\n## Demo\nYou can see a demo of the app run locally on this linkedin post: https://www.linkedin.com/posts/josu%C3%A9-mongan-a7b6242b8_websocket-realtimechatapp-fullstack-activity-7232853217909370880-JCX1?utm_source=share\u0026utm_medium=member_desktop\n\n## Hope you enjoy\nHave fun, leave a star if you like please and any contribution or improvement is welcome.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosh012006%2Fprodigy_fs_04","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosh012006%2Fprodigy_fs_04","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosh012006%2Fprodigy_fs_04/lists"}