A website to share medical equipment for patients and institutions.
Patients who require medical equipment often have a hard time getting their hands on it due to pricing and scarcity. MedShare is a medical equipment sharing website that makes it easy for patients to find the medical equipment that they need, and for providers to find patients who are in need of that medical equipment. Much like Airbnb, both the provider and patients/caregivers can leave ratings and reviews for the other after the service is complete. Over time, providers can build strong reputations, allowing patients to get access to reliable equipment from trustworthy sources.
- Authentication pages + backend
- Profiles implementation
- API routes for bookings, users, and admin
- Admin panel UI
- Search Page UI
- Created the Homepage UI
- Wrote the About page
- Organized some of the UI
- Title implementation
- Made the Review Form UI
- Made Review API Endpoints
- Made Search API Endpoints
- Created the Listing Page UI
- Created Listing API Endpoints
- Helped Create Post Booking
- Create and manage listings for medical equipment
- Book equipment from providers with an easy-to-use interface
- Leave reviews for specific listings
- Admin panel to manage users, listings, bookings, and reviews
- Search functionality to find listings based on keywords and filters
- User profiles with bios, provider types, and average ratings
- Frontend: React, Next.js, Tailwind CSS, shadcn/ui components
- Backend: Node.js, Next.js API routes
- Database: MongoDB Atlas, Mongoose
- Clone the repository
- cd into the project directory:
`cd final-project-medshare`- Install dependencies:
`npm install`- Start the development server:
`npm run dev`- Open http://localhost:3000 in your browser.
Note: You will need to set up a .env file with the necessary environment variables for MongoDB connection and any other secrets. An example .env.example file is included in the repository.
Additionally, you must insert an admin user directly into the MongoDB database to access the admin panel. The easiest way to do this is to change the role field of an existing user document to admin.
Part of this code was created with the assistance of AI tools, specifically the tailwind styling and functions on the admin page, as well as the tailwind styling on the profile page. Additionally, all the team members have the in-editor autocomplete feature enabled, which also uses AI for code suggestions and completions. All auto-complete suggestions and pages created with the help of AI were reviewed by the team members.