{"id":25186301,"url":"https://github.com/atharmohammad/code-n-collab-server","last_synced_at":"2025-05-07T14:28:47.575Z","repository":{"id":47741367,"uuid":"354463583","full_name":"atharmohammad/Code-N-Collab-Server","owner":"atharmohammad","description":"Code-N-Collab Server is the Backend for the Code-N-Collab for real-time exchange of data between users","archived":false,"fork":false,"pushed_at":"2021-10-24T06:51:17.000Z","size":8069,"stargazers_count":12,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T11:01:38.207Z","etag":null,"topics":["axios","codeforces","docker","expressjs","javascript","mongodb","nodejs","puppeteer","socket-io"],"latest_commit_sha":null,"homepage":"https://code-n-collab.netlify.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atharmohammad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-04T05:27:58.000Z","updated_at":"2023-09-02T10:35:47.000Z","dependencies_parsed_at":"2022-08-23T12:52:57.669Z","dependency_job_id":null,"html_url":"https://github.com/atharmohammad/Code-N-Collab-Server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharmohammad%2FCode-N-Collab-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharmohammad%2FCode-N-Collab-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharmohammad%2FCode-N-Collab-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharmohammad%2FCode-N-Collab-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atharmohammad","download_url":"https://codeload.github.com/atharmohammad/Code-N-Collab-Server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252894927,"owners_count":21821078,"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":["axios","codeforces","docker","expressjs","javascript","mongodb","nodejs","puppeteer","socket-io"],"created_at":"2025-02-09T19:42:59.247Z","updated_at":"2025-05-07T14:28:47.554Z","avatar_url":"https://github.com/atharmohammad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"https://code-n-collab.netlify.app/\" target=\"_blank\"  rel=\"noreferrer\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/56029409/120935296-af116b00-c71f-11eb-8a47-9ca6a54832db.png\" height=\"90\"\n     style=\"border-radius:50%\"/\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/56029409/120934611-a10e1b00-c71c-11eb-8f9a-c22ecfc82652.png\" height=\"70\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![MIT License][license-shield]][license-url]\n[![Issues][issues-shield]][issues-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-about\"\u003eAbout\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#-features\"\u003eFeatures\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n         \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-contribution-guidelines\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-resources\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003ca href=\"https://code-n-collab.netlify.app/\" target=\"_blank\"  rel=\"noreferrer\"\u003e\n\u003ctable \u003e\n   \u003ctr\u003e\n     \u003ctd\u003e\n        \u003cimg src=\"Images/homepage.PNG\"/\u003e\n     \u003c/td\u003e\n     \u003ctd \u003e\n       \u003cimg src=\"Images/profile.PNG\"/\u003e\n     \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n     \u003ctd\u003e\n       \u003cimg src=\"Images/championship.PNG\" /\u003e\n     \u003c/td\u003e\n     \u003ctd\u003e\n       \u003cimg src=\"Images/Blogs.PNG\" /\u003e\n     \u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n \u003c/a\u003e\n \n \u003ca href=\"https://code-n-collab.netlify.app/\" target=\"_blank\"  rel=\"noreferrer\"\u003e\n      \u003ctable align=\"center\"\u003e\n          \u003ctr\u003e\n               \u003ctd\u003e\n                    \u003cimg src=\"gif/codencollab.gif\" alt=\"Collaboration\" height=\"200\"/\u003e\n               \u003c/td\u003e\n          \u003c/tr\u003e\n     \u003c/table\u003e\n\u003c/a\u003e\n \n\n# 🔖 About \nCode-N-Collab server is backend for Code-N-Collab , It make Code-N-Collab real-time collaborative using sockets and also serves as backend for blogs\n\n### Website\n[Code-N-Collab](https://code-n-collab.netlify.app/)\n\n## 🚀 Features\nIt provides users with :-\n- Real-time code editor : Users can collaborate with their team on issues and solve CP problems using a real-time code-editor(like Google Docs) \n\n- Lockout Championship : For Cp lovers, they can compete in a lockout championships with their friends to and challenge your friends for championship,filter problems with preferred difficulty and improve you CP skills\n\n- Blogs : To find new people and share your knowledge , platform provides users blogs to write learn and share\n\n## 🔥 Getting Started \n\n### Prerequisites\n\n- \u003ca href=\"https://reactjs.org/\"\u003eReactjs\u003c/a\u003e\n- \u003ca href=\"https://nodejs.org/en/\"\u003eNodejs\u003c/a\u003e\n- \u003ca href=\"https://console.cloud.google.com/\"\u003eGoogle Cloud Platform\u003c/a\u003e\n\n#### Setup your free GCP account for google Oauth\n- https://support.google.com/cloud/answer/6158849?hl=en\n\n- Setup API\u0026Credentials for Web Application\n\n- Provide a Redirect URI in the Credentials(The redirect_URI will be used to redirect to the page after login with google,in below environment variable example we have setup redirect_URI=http://localhost:3000/homepage/ , using port 3000 you can use any port but make sure to add /homepage after that to redirect to correct route)\n\n- copy \u003cYOUR_GOOGLE_CLIENT_ID\u003e and \u003cYOUR_GOOGLE_CLIENT_SECRET\u003e\n\n#### Setup your MONGO_DB atlas\n- \u003ca href=\"https://docs.atlas.mongodb.com/getting-started/\"\u003eAtlas Docs\u003c/a\u003e\n- get the \u003cMONGO_DB_URL\u003e from your cluster , you have to use it in env vars\n\n#### Setup Environment variables \n- you can declare your env vars using dotenv like below :\n\n```\n     CORS_ORIGIN=*\n     GOOGLE_CLIENT_ID=\u003cYOUR_GOOGLE_CLIENT_ID\u003e\n     GOOGLE_CLIENT_SECRET=\u003cYOUR_GOOGLE_CLIENT_SECRET\u003e\n     redirect_URI=http://localhost:3000/homepage/\n     BaseURI=http://localhost:8080/\n     MONGO_DB_URL=\u003cYOUR_MONGO_DB_URL\u003e\n     COMPILE_CLIENT_ID1=\u003cCOMPILE_CLIENT_ID1\u003e\n     COMPILE_CLIENT_SECRET1=\u003cCOMPILER_CLIENT_SECRET1\u003e\n     COMPILE_CLIENT_ID2=\u003cCOMPILE_CLIENT_ID1\u003e\n     COMPILE_CLIENT_SECRET2=\u003cCOMPILER_CLIENT_SECRET1\u003e\n     COMPILE_CLIENT_ID3=\u003cCOMPILE_CLIENT_ID1\u003e\n     COMPILE_CLIENT_SECRET3=\u003cCOMPILER_CLIENT_SECRET1\u003e\n     COMPILE_CLIENT_ID4=\u003cCOMPILE_CLIENT_ID1\u003e\n     COMPILE_CLIENT_SECRET4=\u003cCOMPILER_CLIENT_SECRET1\u003e\n\n```\n- or you can declare your env vars in nodemon.json if you are using nodemon for development like below:\n```\n{\n    \"env\":{\n        \"CORS_ORIGIN\":\"*\",\n        \"GOOGLE_CLIENT_ID\": \"\u003cYOUR_GOOGLE_CLIENT_ID\u003e\",\n        \"GOOGLE_CLIENT_SECRET\": \"\u003cYOUR_GOOGLE_CLIENT_SECRET\u003e\",\n        \"redirect_URI\" : \"http://localhost:3000/homepage/\",\n        \"BaseURI\":\"http://localhost:8080/\",\n        \"MONGO_DB_URL\":\"\u003cYOUR_MONGO_DB_URL\u003e\",\n        \"COMPILE_CLIENT_ID1\":\"\u003cCOMPILE_CLIENT_ID1\u003e\",\n        \"COMPILE_CLIENT_SECRET1\":\"\u003cCOMPILER_CLIENT_SECRET1\u003e\",\n        \"COMPILE_CLIENT_ID2\":\"\u003cCOMPILE_CLIENT_ID1\u003e\",\n        \"COMPILE_CLIENT_SECRET2\":\"\u003cCOMPILER_CLIENT_SECRET1\u003e\",\n        \"COMPILE_CLIENT_ID3\":\"\u003cCOMPILE_CLIENT_ID1\u003e\",\n        \"COMPILE_CLIENT_SECRET3\":\"\u003cCOMPILER_CLIENT_SECRET1\u003e\",\n        \"COMPILE_CLIENT_ID4\":\"\u003cCOMPILE_CLIENT_ID1\u003e\",\n        \"COMPILE_CLIENT_SECRET4\":\"\u003cCOMPILER_CLIENT_SECRET1\u003e\"\n      }\n}\n\n```\n\n### Installation\n\n```\n   $ git clone https://github.com/\u003cyour-username\u003e/Code-N-Collab-Server.git\n   $ cd Code-N-Collab-Server\n   $ git remote add upstream https://github.com/atharmohammad/Code-N-Collab-Server.git\n   $ npm install\n   \n   $ npm start // if you are using dotenv\n   \n   //or\n   \n   $ npm run dev // if you are using nodemon.json \n   \n```\n\n## 💁 Contribution guidelines \n\n we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n For code contributions, read :\n \n- The \u003ca href=\"CODE_OF_CONDUCT.md\" \u003eCode of Conduct\u003c/a\u003e\n- The \u003ca href=\"CONTRIBUTING.md\"\u003eContribution Guidelines\u003c/a\u003e\n\n## 📲 Contact\n\n\u003ca href=\"https://www.linkedin.com/in/athar-mohammad-34068a157/\"\u003eMohd Athar\u003c/a\u003e - mohd.rule123@gmail.com\n\u003cbr\u003e\n\u003ca href=\"https://www.linkedin.com/in/adnan-shamsi-5830301b3/\"\u003eAdnan Shamsi\u003c/a\u003e - adnanshamsi023@gmail.com\n\n## 📚 Resources \n- \u003ca href=\"https://socket.io/docs/v4\" \u003eSocket.Io Documentation \u003c/a\u003e\n- \u003ca href=\"https://convergence.io/documentation/\" \u003e Convergence Docs \u003c/a\u003e\n- \u003ca href=\"https://docs.atlas.mongodb.com/getting-started/\"\u003eAtlas Docs \u003c/a\u003e\n- \u003ca href=\"https://github.com/scniro/react-codemirror2\"\u003eReact-Codemirror Editor Docs\u003c/a\u003e\n- \u003ca href=\"https://mongoosejs.com/docs/guide.html\"\u003eMongoose Docs\u003c/a\u003e\n\n## License\n\u003ca href=\"LICENSE\"\u003eApache License 2.0\u003c/a\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/atharmohammad/Code-N-Collab-Server.svg?style=for-the-badge\n[contributors-url]: https://github.com/atharmohammad/Code-N-Collab-Server/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/atharmohammad/Code-N-Collab-Server.svg?style=for-the-badge\n[forks-url]: https://github.com/atharmohammad/Code-N-Collab-Server/network/members\n[stars-shield]: https://img.shields.io/github/stars/atharmohammad/Code-N-Collab-Server.svg?style=for-the-badge\n[stars-url]: https://github.com/atharmohammad/Code-N-Collab-Server/stargazers\n[issues-shield]: https://img.shields.io/github/issues/atharmohammad/Code-N-Collab-Server.svg?style=for-the-badge\n[issues-url]: https://github.com/atharmohammad/Code-N-Collab-Server/issues\n[license-shield]: https://img.shields.io/github/license/atharmohammad/Code-N-Collab-Server.svg?style=for-the-badge\n[license-url]: https://github.com/atharmohammad/Code-N-Collab-Server/blob/master/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/athar-mohammad-34068a157/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatharmohammad%2Fcode-n-collab-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatharmohammad%2Fcode-n-collab-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatharmohammad%2Fcode-n-collab-server/lists"}