{"id":26759613,"url":"https://github.com/sushanto171/medicamp","last_synced_at":"2026-04-11T10:10:00.471Z","repository":{"id":274862492,"uuid":"921810017","full_name":"Sushanto171/medicamp","owner":"Sushanto171","description":"MediCamp is a comprehensive MERN stack application designed to efficiently manage medical camps. The platform includes features for both organizers and participants, emphasizing seamless interaction, secure payment, and robust analytics.","archived":false,"fork":false,"pushed_at":"2025-03-18T13:16:38.000Z","size":2853,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T17:19:20.579Z","etag":null,"topics":["expressjs","firebase-auth","javescript","jwt","mongodb","nodejs","reactdom","reactjs","stripe-payments","tailwindcss","tanstack-query"],"latest_commit_sha":null,"homepage":"https://medicamp-91966.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/Sushanto171.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":"2025-01-24T16:55:00.000Z","updated_at":"2025-03-18T13:16:42.000Z","dependencies_parsed_at":"2025-03-18T12:21:53.799Z","dependency_job_id":"0963bf68-5cef-4d15-ae18-4aef776e8b5d","html_url":"https://github.com/Sushanto171/medicamp","commit_stats":null,"previous_names":["sushanto171/medicamp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sushanto171/medicamp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sushanto171%2Fmedicamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sushanto171%2Fmedicamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sushanto171%2Fmedicamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sushanto171%2Fmedicamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sushanto171","download_url":"https://codeload.github.com/Sushanto171/medicamp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sushanto171%2Fmedicamp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005413,"owners_count":26083883,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["expressjs","firebase-auth","javescript","jwt","mongodb","nodejs","reactdom","reactjs","stripe-payments","tailwindcss","tanstack-query"],"created_at":"2025-03-28T17:19:26.727Z","updated_at":"2025-10-10T21:32:50.438Z","avatar_url":"https://github.com/Sushanto171.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **MediCamp (Client-Side)**\n\nMediCamp is a comprehensive MERN stack application designed to efficiently manage medical camps. The platform includes features for both organizers and participants, emphasizing seamless interaction, secure payment, and robust analytics.\n\n---\n\n## **Live Demo**\n\n- **Live Site**: [MediCamp Live](https://medicamp-91966.web.app/)\n- **Client Repository**: [Client-Side Code](https://github.com/Sushanto171/medicamp)\n- **Server Repository**: [Server-Side Code](https://github.com/Sushanto171/medicamp-server)\n\n---\n\n## **Organizer Credentials**\n\n- **Email**: info@medicamp.com\n- **Password**: 123Ab@\n\n---\n\n## **Key Features**\n\n### **Organizer Dashboard**\n\n1. **Organizer Profile**: Manage personal information and camp details.\n2. **Add a Camp**: Organizers can create new camps with all relevant details.\n3. **Manage Camps**:\n   - Update or delete camp information.\n   - View real-time registrations.\n4. **Manage Registered Camps**:\n   - Confirm or delete participant registrations.\n   - Handle conditional payments for special cases.\n\n---\n\n### **Participant Dashboard**\n\n1. **Participant Profile**:\n   - Manage personal details easily.\n2. **Registered Camps**:\n   - Access a list of registered camps with detailed information.\n3. **Payment and Feedback**:\n   - **Secure Payments**: Utilize Stripe for safe and seamless payment processing.\n   - **Feedback System**: After payment, participants can submit feedback to improve the camp experience.\n4. **Payment History**:\n   - Track all payment transactions with full details.\n5. **Analytics**:\n   - Get insights into participation through charts and visual overviews.\n\n---\n\n## **Authentication and Authorization**\n\n- **JWT Authentication**:\n  - Implemented using JSON Web Tokens for securing sensitive routes.\n  - Tokens are managed using Local Storage.\n- **Role-Based Access Control (RBAC)**:\n  - Organizers and participants have role-specific features.\n\n---\n\n## **Enhancements**\n\n1. **Pagination**:\n\n   - All tables feature pagination at the footer, displaying 10 rows per page for better usability.\n\n2. **Search Functionality**:\n\n   - Implemented at the top of all tables.\n   - Users can search camps using keywords such as:\n     - Camp Name\n     - Date\n     - Healthcare Professional Name\n\n3. **Reusable Components**:\n   - Built reusable components for search and pagination to ensure consistency and scalability.\n\n---\n\n## **Tech Stack**\n\n- **Frontend**:\n\n  - React.js\n  - TailwindCSS\n  - Material Tailwind\n  - React Icons\n\n- **State Management**:\n\n  - React Context API\n  - TanStack Query\n\n- **Backend**:\n\n  - Node.js\n  - Express.js\n\n- **Database**:\n\n  - MongoDB\n\n- **Authentication**:\n\n  - Firebase Authentication\n\n- **Payment Integration**:\n  - Stripe\n\n---\n\n## **Dependencies**\n\n```json\n\"dependencies\": {\n  \"@heroicons/react\": \"^2.2.0\",\n  \"@hookform/resolvers\": \"^3.10.0\",\n  \"@material-tailwind/react\": \"^2.1.10\",\n  \"@stripe/react-stripe-js\": \"^3.1.1\",\n  \"@stripe/stripe-js\": \"^5.5.0\",\n  \"@tanstack/react-query\": \"^5.64.1\",\n  \"aos\": \"^3.0.0-beta.6\",\n  \"axios\": \"^1.7.9\",\n  \"date-fns\": \"^4.1.0\",\n  \"firebase\": \"^11.1.0\",\n  \"framer-motion\": \"^12.0.1\",\n  \"localforage\": \"^1.10.0\",\n  \"match-sorter\": \"^8.0.0\",\n  \"react\": \"^18.3.1\",\n  \"react-awesome-button\": \"^7.0.5\",\n  \"react-datepicker\": \"^7.6.0\",\n  \"react-dom\": \"^18.3.1\",\n  \"react-hook-form\": \"^7.54.2\",\n  \"react-hot-toast\": \"^2.5.1\",\n  \"react-icons\": \"^5.4.0\",\n  \"react-router-dom\": \"^7.1.1\",\n  \"react-simple-captcha\": \"^9.3.1\",\n  \"recharts\": \"^2.15.0\",\n  \"reconnecting-websocket\": \"^4.4.0\",\n  \"sort-by\": \"^1.2.0\",\n  \"sweetalert2\": \"^11.15.10\",\n  \"swiper\": \"^11.2.1\",\n  \"yup\": \"^1.6.1\"\n}\n```\n\n---\n\n## **How to Run Locally**\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/Programming-Hero-Web-Course4/b10a12-client-side-Sushanto171.git\n   cd medicamp\n   ```\n\n2. **Install dependencies**:\n\n   ```bash\n   npm install\n   ```\n\n3. **Create environment variables**:\n\n   - Add a `.env` file with the following keys:\n     - `REACT_APP_FIREBASE_API_KEY`\n     - `REACT_APP_STRIPE_KEY`\n     - `REACT_APP_BACKEND_URL`\n\n4. **Start the development server**:\n\n   ```bash\n   npm run dev\n   ```\n\n5. **Access the app**:  \n   Open [http://localhost:5173](http://localhost:5173) in your browser.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsushanto171%2Fmedicamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsushanto171%2Fmedicamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsushanto171%2Fmedicamp/lists"}