A modern, full-stack healthcare web application inspired by Practo, built with Next.js 14 (App Router), Tailwind CSS, TRPC, and a Node.js backend.
Find doctors, book appointments, consult online, and manage health records—all with a beautiful, responsive, and interactive UI.
- Practo-style UI: Clean, trustworthy, and responsive design
- Doctor Search: Filter by location, specialty, experience, and more
- Doctor Listings: Cards with ratings, fees, patient stories, and booking options
- Online Consultation: Book video consults or in-clinic visits
- Admin Panel: Add/manage doctors (demo)
- TRPC Integration: Type-safe API calls (now pure JS)
- No TypeScript: 100% JavaScript codebase for easy onboarding
- Tailwind CSS: Utility-first, animated, and themeable styles
- Mobile Friendly: Works great on all devices
- Frontend: Next.js 14 (App Router), React 19, Tailwind CSS, TRPC client
- Backend: Node.js, Express, TRPC server, REST endpoints
- UI: Heroicons, Lucide, custom animated components
- State/API: React Query, TRPC
- Styling: Tailwind CSS, custom globals.css
| Homepage | Doctor Listing |
|---|---|
![]() |
![]() |
git clone https://github.com/yourusername/practo-clone.git
cd practo-clonecd frontend
npm install
cd ../backend
npm installcd backend
npm start
# or
node src/index.jscd ../frontend
npm run dev- Frontend: http://localhost:3001
- Backend API: http://localhost:3000
practo-clone/
├── backend/
│ ├── src/
│ │ ├── index.js
│ │ ├── trpc/
│ │ └── ... (routers, controllers)
│ └── package.json
├── frontend/
│ ├── app/
│ │ ├── layout.jsx
│ │ ├── page.jsx
│ │ └── components/
│ │ ├── NavBar.jsx
│ │ ├── Hero.jsx
│ │ ├── DoctorCard.jsx
│ │ └── ...
│ ├── globals.css
│ ├── tailwind.config.js
│ └── package.json
- Colors & Fonts: Edit
tailwind.config.jsandglobals.css - Doctor Data: Update backend seed or API
- Animations: Add or tweak in
globals.cssand components
Pull requests welcome!
Open an issue for bugs, ideas, or improvements.
MIT
- Practo for UI inspiration
- Next.js, Tailwind CSS,

