MedNet is a modern healthcare platform that connects patients with hospitals. It provides a seamless experience for patients to discover hospitals, view their services, and access healthcare information, while offering hospitals a platform to showcase their facilities and manage their presence.
- Hospital Discovery: Browse and search for hospitals based on various criteria
- Hospital Profiles: View detailed information about hospitals including services, location, and contact details
- User Authentication: Secure sign up and login functionality for personalized experience
- Dashboard: Personalized dashboard to manage healthcare preferences
- Hospital Dashboard: Manage hospital profile and services
- Authentication: Secure sign up and login for hospital administrators
- Profile Management: Update hospital information and services
- Next.js 16 - React framework for building the application with App Router
- React 19 - UI library for building interactive user interfaces
- TypeScript - Type-safe JavaScript for better developer experience
- Supabase - Backend-as-a-Service providing authentication and database
- Tailwind CSS 4 - Utility-first CSS framework for styling
- Lucide React - Beautiful and consistent icon library
- Sonner - Toast notifications for user feedback
mednet/
├── app/ # Next.js App Router pages
│ ├── auth/ # Authentication pages
│ │ ├── page.tsx # Main auth page with role selection
│ │ └── patient/ # Patient-specific auth pages
│ ├── dashboard/ # Protected dashboard pages
│ │ ├── hospital/ # Hospital dashboard
│ │ └── patient/ # Patient dashboard
│ │ └── hospitals/ # Hospital listings and details
│ ├── data/ # Static data and mock data
│ └── fonts/ # Custom fonts
├── components/ # Reusable React components
│ ├── auth/ # Authentication components
│ │ ├── AuthContainer.tsx
│ │ ├── PatientLoginForm.tsx
│ │ ├── PatientSignUpForm.tsx
│ │ ├── HospitalLoginForm.tsx
│ │ ├── HospitalSignUpForm.tsx
│ │ ├── ModeToggle.tsx
│ │ └── RoleToggle.tsx
│ └── patient/ # Patient-specific components
│ ├── Header.tsx
│ ├── HospitalCard.tsx
│ ├── Searchbar.tsx
│ ├── Filterbar.tsx
│ └── Sidebar.tsx
├── context/ # React Context providers
│ └── AuthContext.tsx # Authentication context
├── lib/ # Utility libraries
│ └── supabase.ts # Supabase client configuration
└── public/ # Static assets
- Node.js 18+ installed
- pnpm package manager installed
- Supabase account and project created
- Clone the repository:
git clone <repository-url>
cd mednet- Install dependencies:
pnpm install- Set up environment variables:
Create a
.env.localfile in the root directory and add your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keymeet author of the project to get access to the env file
You can find these values in your Supabase project settings under API.
- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser to see the application.
pnpm dev- Start the development serverpnpm build- Build the application for productionpnpm start- Start the production serverpnpm lint- Run ESLint to check for code issues
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Your Supabase anonymous/public key |
To set up Supabase for this project:
- Create a new project at supabase.com
- Navigate to your project settings and copy the URL and anon key
- Add them to your
.env.localfile - Set up authentication providers in Supabase (email/password is enabled by default)
- Create the necessary database tables for hospitals, patients, and related data
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
- Push your code to a Git repository (GitHub, GitLab, or Bitbucket)
- Import your repository on Vercel
- Add your environment variables in the Vercel dashboard
- Deploy!
Check out the Next.js deployment documentation for more details.
To learn more about the technologies used in this project:
- Next.js Documentation - Learn about Next.js features and API
- React Documentation - Learn about React
- TypeScript Documentation - Learn about TypeScript
- Supabase Documentation - Learn about Supabase
- Tailwind CSS Documentation - Learn about Tailwind CSS
This project is private and confidential.
For support or questions, please contact the development team.