{"id":30310648,"url":"https://github.com/alzamo12/disco-zone-client","last_synced_at":"2026-04-13T19:31:56.623Z","repository":{"id":309058077,"uuid":"1034375999","full_name":"alzamo12/disco-zone-client","owner":"alzamo12","description":"Disco Zone is a forum platform. It is built with role-base feature, payment integration, authorization and authentication, secure api calls, user management features  This project is built with React.js, Express.js, Node.js, MongoDB, Firebase.","archived":false,"fork":false,"pushed_at":"2025-08-17T05:21:39.000Z","size":1220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T07:08:31.551Z","etag":null,"topics":["authorization","expressjs","firebase","framer-motion","jwt-authentication","mongodb","node-js","payment-integration","reactjs","rolebasedaccesscontrol"],"latest_commit_sha":null,"homepage":"https://disco-zone.web.app/","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/alzamo12.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":"2025-08-08T09:38:21.000Z","updated_at":"2025-08-17T05:21:42.000Z","dependencies_parsed_at":"2025-08-09T16:21:28.810Z","dependency_job_id":"e8b664fb-4035-436e-8b02-09e057de9ca0","html_url":"https://github.com/alzamo12/disco-zone-client","commit_stats":null,"previous_names":["alzamo12/disco-zone-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alzamo12/disco-zone-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alzamo12%2Fdisco-zone-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alzamo12%2Fdisco-zone-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alzamo12%2Fdisco-zone-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alzamo12%2Fdisco-zone-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alzamo12","download_url":"https://codeload.github.com/alzamo12/disco-zone-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alzamo12%2Fdisco-zone-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31768636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"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":["authorization","expressjs","firebase","framer-motion","jwt-authentication","mongodb","node-js","payment-integration","reactjs","rolebasedaccesscontrol"],"created_at":"2025-08-17T15:01:35.283Z","updated_at":"2026-04-13T19:31:56.616Z","avatar_url":"https://github.com/alzamo12.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Disco Zone Forum\n\n## Purpose\n\nA modern, responsive discussion forum built with the MERN stack and Firebase authentication. Users can sign up, create topics with tags, post comments, and report inappropriate content. Admins can verify users and manage posts and comments.\n\n![Alt text describing the image](https://i.ibb.co.com/BVQBZzbG/Screenshot-151.png)\n\n## Live Demo\n\n[View the live application here](https://disco-zone.web.app/)\n\n## Key Features\n\n* **User Authentication**: Sign in/sign up using Firebase Auth with token verification middleware\n* **Role-Based Access**: Admins vs. regular users guarded by custom `verifyAdmin` middleware\n* **Topic Tags**: Create, list, and filter topics by tags using React Query mutations and queries\n* **Commenting System**: Post, view, and report comments\n* **Animated UI**: Framer Motion for page transitions, modals, and 404 page\n* **Responsive Design**: Tailwind CSS and DaisyUI components for mobile-first layouts\n* **404 Routing**: Custom black‑themed animated 404 page for unmatched routes\n\n## Tech \u0026 NPM Packages Used\n\n* **Frontend**\n\n  * `react`, `react-dom`\n  * `react-router-dom`\n  * `@tanstack/react-query`\n  * `axios`\n  * `firebase`\n  * `react-icons`\n  * `framer-motion`\n  * `tailwindcss`, `daisyui`\n  * `swiper`\n\n* **Backend**\n\n  * `express`\n  * `cors`\n  * `mongodb`\n  * `firebase-admin`\n\n## Usage\n\n* Register or log in via Firebase Auth\n* Create a new topic, add tags, and submit\n* Browse topics by tag filter\n* Comment on topics and report if necessary\n* Admin users have access to protected routes for moderation\n\n## 🖥 Run Locally — Step-by-Step\n\n### **Prerequisites**\nMake sure you have installed:\n- [Node.js](https://nodejs.org/) (v16+ recommended)\n- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)\n- Any required services for the project (e.g., MongoDB, MySQL, Firebase, etc.)\n\n---\n### **1. Clone the repository**\n```bash\ngit clone https://github.com/alzamo12/disco-zone-client\ncd disco-zone-client\n\n```\n## 🌱 Environment Variables\nCreate a `.env` file in your project root:\n```env\nVITE_apiKey= firebase apikey\nVITE_authDomain= firebase auth domain\nVITE_projectId= firebase projectId\nVITE_storageBucket= firebase storageBucket\nVITE_messagingSenderId= firebase messaging sender id\nVITE_appId= firebase app id\nVITE_STRIPE_PUBLISHABLE_KEY== strip e publishable key\nVITE_FB_APP_ID=FB App Id\n```\n## Installation\n```\nnpm install \nor \nnmp i\n\n```\n## run locally\n```\nnpm run dev\n# or\nyarn dev\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falzamo12%2Fdisco-zone-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falzamo12%2Fdisco-zone-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falzamo12%2Fdisco-zone-client/lists"}