MediCamp is a Medical Camp Management System (MCMS) built with the MERN stack. It is designed to help organizers and participants seamlessly manage medical camps. The platform provides tools for registration, payment, feedback collection, and detailed camp analytics, ensuring a smooth and efficient experience for all users.
- Username: [email protected]
- Password: Organizer@123
- User Authentication: Secure login and registration with support for email/password and social logins.
- Home Page: A vibrant banner section showcasing impactful camp success stories, popular camps, and feedback from participants.
- Popular Camps Section: Displays the top six camps based on participant counts, with detailed information and a "See All Camps" button.
- Available Camps Page: Allows users to view all camps, search by keywords, and sort based on criteria such as participant count, fees, and alphabetical order.
- Organizer Dashboard:
- Add A Camp: Organizers can add camps with details like name, date, fees, location, and description.
- Manage Camps: View, edit, or delete camps using intuitive controls.
- Manage Registered Camps: View participants' details, confirm payments, and cancel registrations.
- Participant Dashboard:
- Analytics: Interactive charts (using Recharts) showcasing the participant's lifetime camp data.
- Registered Camps: Displays registered camp details, feedback options, and payment history.
- Camp Details Page: Offers comprehensive information about each camp and facilitates participant registration through a modal.
- Feedback & Ratings: Participants can provide feedback after successful payment, and these are displayed on the home page.
- Payment Integration: Secure payment processing with Stripe, including transaction ID documentation.
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices.
- Frontend: React, TailwindCSS, DaisyUI, TanStack Query, Axios, React Hook Form, Recharts
- Backend: Node.js, Express.js, MongoDB
- Authentication: Firebase, JWT
- Other Libraries: Stripe for payments, SweetAlert2 for notifications
- Fully secure login and registration with Firebase.
- JWT-based authentication for protecting private routes.
- Add, update, or delete camps effortlessly.
- Manage participants with detailed information and controls.
- Easy camp registration and payment process.
- Feedback and rating submission post-camp experience.
- Detailed analytics and payment history.
- Pagination and search for all tables.
- 404 page for unmatched routes.
- Customizable dashboard layouts for both organizers and participants.
- Node.js (v16 or higher)
- npm
- Git
- MongoDB
-
Clone the Repository
git clone <repository-url> cd medi-camp-pro
-
Install Dependencies:
npm install
-
Set Up Environment Variables: Create a
.env
file in the project root and add the following variables:VITE_API_URL=your_backend_api_url VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id VITE_STRIPE_PUBLIC_KEY=your_stripe_public_key
-
Run the Application:
npm run dev
-
Build for Production:
npm run build