Open sourceFree Next.js hospital template by Vivek Kumar Singh

git clone https://github.com/intellectwithvivek/MediCare-Plus.git
Star
24 Γ— 7 Emergency+91-80-4000-1122Walk-in trauma and casualty β€” no appointment needed.

Built with VivekUI

This entire website is built with VivekUI, a free React component library with zero runtime dependencies. No Tailwind, no shadcn, no MUI, no Bootstrap β€” one install, one CSS import, and the 47 components listed below.

npm i @the_viveksingh/vivek-ui
Clone this template
git clone https://github.com/intellectwithvivek/MediCare-Plus.git

MIT licensed. Free for commercial use, no attribution required.

Scheduler, Stepper, OTPInput and all three charts ship in the same zero-dependency package as the Button and the Card. There is no separate charts install, no pro tier and no peer dependency beyond React itself β€” which matters most for the Scheduler, the one component shadcn/ui, Mantine and Radix simply do not have, and that MUI puts behind a paid licence.

91 components6 SVG charts0 runtime dependenciesMIT licensedReact 18 & 19
The map

Every section, and the component behind it

Each component name links straight to its documentation page.

VivekUI components used by the MediCare Plus template, by page section
SectionComponentWhat it does here
Every page β€” template bannerCodeThe `git clone` command in the open-source strip at the very top.
Every page β€” template bannerCopyButtonCopies the clone command, and the install command in the footer.
Every page β€” open-source noticeBadge"Free & open source" and "MIT licensed" chips above the footer.
Every page β€” open-source noticeButtonStar on GitHub, Use this template, How it is built.
Every page β€” themingThemeProviderLight default, dark supported, choice persisted to localStorage.
Every page β€” themingThemeToggleThe sun/moon switch in the navbar.
Every page β€” emergency barAlertThe thin 24 Γ— 7 emergency strip above the navigation.
Every page β€” navigationNavbarBrand, links, actions and the mobile disclosure with its focus trap.
Every page β€” navigationBadgeThe "⚑ Built with VivekUI" chip, and every specialty and condition tag.
Every page β€” footerFooterThe footer landmark, container and muted background.
Every page β€” footerClockLive local time in Bengaluru, beside the opening hours.
Every page β€” footerMapEmbedThe OpenStreetMap frame showing the Indiranagar address.
Every page β€” footerCodeThe install command block.
Every page β€” footerCopyButtonCopies the install command, with its own copied/error announcement.
Every page β€” footerDividerRule above the copyright and disclaimer.
Homepage β€” heroHeroSplit layout: headline and actions on the left, booking card on the right.
Homepage β€” heroCardThe floating "book in under a minute" panel.
Homepage β€” heroComboboxType-ahead department picker that seeds the booking flow.
Homepage β€” heroButtonEvery call to action on the site, including `asChild` around next/link.
Homepage β€” statsStatsFour-up figure grid rendered as a description list.
Homepage β€” statsAnimatedCounterCounts each figure up when it scrolls into view.
Homepage β€” departmentsFeatureGridThe eight specialties, four across on desktop.
Homepage β€” doctorsGridResponsive card grids on the homepage, /doctors and /departments.
Homepage β€” doctorsRatingRead-only half-star patient rating on every doctor card and profile.
Homepage β€” care in numbersBarChartAppointments completed per month, last twelve months.
Homepage β€” care in numbersPieChartShare of appointments across the six busiest departments.
Homepage β€” care in numbersProgressRingTwo rings: 98% patient satisfaction and 96% on-time consultations.
Homepage β€” testimonialsTestimonialsSix patient quotes with avatars.
Homepage β€” testimonialsAvatarPatient portraits, and the head-of-department photo on /departments.
Homepage β€” FAQFAQFour accordion answers, mirrored into FAQPage structured data.
Homepage β€” closing CTACTAThe closing band on the homepage, /departments and each doctor profile.
Layout β€” every routeSectionPage rhythm: padding, background and the contained header block.
Layout β€” every routeContainerMax-width gutter, applied by Section on every page.
Layout β€” every routeStackHorizontal action rows inside Hero and CTA.
Layout β€” every routeHeadingSection titles, kept at one h1 per page.
Layout β€” every routeTextBody copy, muted captions and clamped card summaries.
Layout β€” inner routesBreadcrumbTrail on /doctors, /departments, /book and each profile.
/book β€” the flowStepperFour steps, clickable backwards only, with aria-current="step".
/book β€” step 2DatePickerTyped or picked date, with everything before today blocked.
/book β€” step 2SchedulerThe "why are some slots gone?" timeline of the day’s existing bookings.
/book β€” step 2SkeletonPlaceholder grid while the day’s availability loads.
/book β€” step 2EmptyStateBefore a date is chosen, and when a doctor filter matches nothing.
/book β€” step 3FieldLabel, help text and error wiring for every control in the form.
/book β€” step 3InputName, phone and email.
/book β€” step 3SelectAge band.
/book β€” step 3TextareaSymptoms and reason for the visit.
/book β€” step 3CheckboxConsent, with its own description and error state.
/book β€” step 4OTPInputSix-box code entry with paste, autofill and auto-submit on complete.
/book β€” confirmationTimeline"What happens next", and the qualifications trail on doctor profiles.
/book β€” confirmationToastBooking confirmed, code resent, and "added to calendar".
/built-withTableThis very table β€” scrollable, with a visually-hidden caption.

Charts are imported from @the_viveksingh/vivek-ui/charts β€” the same install, a separate entry point so the SVG code never lands in a bundle that does not draw a chart.

For balance

What is not a component

So you know exactly where the library stops and the template starts.