{"id":16794977,"url":"https://github.com/sidmohanty11/forum","last_synced_at":"2026-02-13T19:32:24.557Z","repository":{"id":103655739,"uuid":"482919651","full_name":"sidmohanty11/forum","owner":"sidmohanty11","description":"A college hangout hub where you can discuss, ask questions and write blogs","archived":false,"fork":false,"pushed_at":"2022-07-06T09:24:55.000Z","size":889,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-23T17:45:48.717Z","etag":null,"topics":["apollo","forums","fullstack","graphql","postgresql","prisma","react","reactjs"],"latest_commit_sha":null,"homepage":"https://outr-forums.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sidmohanty11.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":"2022-04-18T16:37:31.000Z","updated_at":"2023-08-05T18:42:43.000Z","dependencies_parsed_at":"2023-05-24T05:30:47.539Z","dependency_job_id":null,"html_url":"https://github.com/sidmohanty11/forum","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sidmohanty11/forum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmohanty11%2Fforum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmohanty11%2Fforum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmohanty11%2Fforum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmohanty11%2Fforum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sidmohanty11","download_url":"https://codeload.github.com/sidmohanty11/forum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmohanty11%2Fforum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29415603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["apollo","forums","fullstack","graphql","postgresql","prisma","react","reactjs"],"created_at":"2024-10-13T09:15:05.485Z","updated_at":"2026-02-13T19:32:24.540Z","avatar_url":"https://github.com/sidmohanty11.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forum\n\nAn open source full-stack forum system developed in PERNG stack, where students can discuss, ask questions and write blogs.\n![forums1](https://user-images.githubusercontent.com/73601258/168597069-3aaef09d-9a02-4ce5-b983-571d297ef14b.png)\n\n## Main features\n1. Barebone forum system for colleges to use\n2. Extensible, you can extend the features as you like\n3. FullText debounced search\n4. Secure JWT authentication\n5. Load tested GRAPHQL API (check load test results inside `/load_tests` directory)\n6. Uses batching and caching to solve famous N+1 problem and make efficient requests\n7. Full Markdown support for posts and even comments\n8. Light theme/Dark theme\n9. Like Posts\n10. Draft/Publish posts\n\n## Quick Start\nFork (optional) and clone this repository.\nMake changes according to your college in `client/src/app.json` following the `app-example.json`.\nFor example,\n```JSON\n{\n\t\"college\": \"OUTR\",\n\t\"collegeUrl\": \"https://cet.edu.in\",\n\t\"branches\": [\n\t\t\"CSE\",\n\t\t\"IT\",\n\t\t\"EE\",\n\t\t\"EIE\",\n\t\t\"MECH\",\n\t\t\"CIVIL\",\n\t\t\"BIO\",\n\t\t\"FAT\",\n\t\t\"TE\",\n\t\t\"B.PLAN\"\n\t]\n}\n```\nand that's it, it's ready for deployment.\n\n## Development\nFork and clone the repository.\n### For local development (using docker),\nMake sure you have docker running on the background.\n\u003e Note: Check [URL](https://github.com/EduHeat/forum/blob/6598774e5d0bf4bae21d23f708369bbec56eee84/client/src/index.tsx#L16) inside `client/src/index.tsx` and change it to `/graphql` if you're using docker as everything is handled by nginx proxy.\n\nThen run,\n```\ndocker-compose up\n```\nNow you can visit http://localhost:3050/ to see the application running.\nTo better understand this, we can visualise the process with the diagram below\n![forums_dockerized_development](https://user-images.githubusercontent.com/73601258/168573513-1f406f9c-a8b5-4c3c-8897-044073f584a1.jpg)\n\n### For local development (not using docker),\nIn one terminal (**for running client**),\n\u003e Note: Check [URL](https://github.com/EduHeat/forum/blob/6598774e5d0bf4bae21d23f708369bbec56eee84/client/src/index.tsx#L16) inside `client/src/index.tsx` and change it to `http://localhost:4000/graphql` if you're not using docker.\n1. `cd client`\n2. `npm i`\n3. `npm start`\n\nYou will have the client running at http://localhost:3000\n\nIn another terminal (**for running server**),\n**Make sure you have `psql` running in the background.**\nMake a `.env` file and add these values:\n```\nDATABASE_URL=\"postgres://postgres:postgres@localhost:5432/mydb?sslmode=disable?connect_timeout=300\"\nJWT_SECRET=mysecret\n```\n\nProvide the uri of your postgres instance, for example: \n```\nDATABASE_URL=postgres://YourUserName:YourPassword@YourHostname:5432/YourDatabaseName\n```\nInside `dev.sh` file also change the `DATABASE_URL` accordingly.\nThen run,\n`sh dev.sh`\n\u003e Note: This is required to do one time to run the db migrations, afterwards you can use `npm run dev`\n\nYou will have the server running at http://localhost:4000\n\n## Features to add in future\n - [ ] Notifications system\n\n## Contributing\nPull requests are much appreciated. Please let us know about the features you would like to see in the future in the [issues](https://github.com/EduHeat/forum/issues) section.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidmohanty11%2Fforum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidmohanty11%2Fforum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidmohanty11%2Fforum/lists"}