-
Notifications
You must be signed in to change notification settings - Fork 1
Description
1. 🏠 Home Page
Route: /
Sections:
-
Hero Section:
- Search input:
placeholder="Search doctors, hospitals, institutions"
- Search input:
-
Suggested Categories (Optional): Icons or cards for Doctor, Hospital, Institution
-
Recent Highlights (Optional): Latest doctors/hospitals/institutions as a horizontal scroll or grid
Data Structure:
{
"keyword": "cardiologist"
}UX Notes:
- Pressing Enter/search navigates to
/search?query=... - Search bar is centered and full-width on mobile
2. 👨⚕️ Doctor List Page
Route: /doctors
Sections:
-
Filter/Search Panel (Top or Sidebar):
- Fields: Keyword, specialization, location, institution
-
List of Doctor Cards:
- Layout: Grid or vertical list
- Card fields: Name, specialization, image, institution, location, verified badge
-
Pagination
Data Structure:
{
"id": "doc-001",
"name": "Dr. Fatima Noor",
"specialization": "Dermatologist",
"institution": "OpenCare Clinic",
"location": "Chattogram",
"profileImageUrl": "/images/docs/fatima.jpg",
"isVerified": true
}UX Notes:
- Clicking a card navigates to
/doctors/:id - Pagination supports page numbers or infinite scroll
3. 👤 Doctor Details Page
Route: /doctors/:id
Sections:
-
Doctor Header Section
- Profile Image (
profile.photo) — show default avatar ifnull - Full Name (
profile.name) - Gender (
profile.gender) - BMDC Number (
bmdcNo) - Verified Badge (
isVerified) - Contact Info (if
profile.emailorprofile.phoneavailable)
- Profile Image (
-
About / Description Section
- Field:
description(optional long-form bio or intro) - If
null, display “No description provided.”
- Field:
-
Degrees & Specializations
- List of Degrees from
doctorDegrees(if available) - List of Specializations from
specializations(if available) - Each item as a chip or bullet
- List of Degrees from
-
Workplace Information
- Section Title: “Practicing At”
- Display workplaces from
doctorWorkplaces(hospital/institution name, address) - If
null, show "No workplaces available"
-
Location
- Show
profile.district,profile.upazila,profile.union, andprofile.addressif available - Optional: Embed map if address is specific
- Show
Expected Data Structure:
{
"id": 1,
"bmdcNo": "A-52508",
"description": "Specialist in internal medicine with 15 years of experience.",
"isVerified": true,
"profile": {
"name": "Dr. Md Sidur Rahman",
"gender": "FEMALE",
"photo": "/images/doctors/sidur.jpg",
"email": "dr.sidur@example.com",
"phone": "017xxxxxxxx",
"district": "Dhaka",
"upazila": "Dhanmondi",
"union": null,
"address": "House 12, Road 8, Dhanmondi"
},
"doctorDegrees": [
{ "degree": "MBBS", "institute": "Dhaka Medical College", "year": "2008" }
],
"specializations": [
{ "name": "Cardiology" }
],
"doctorWorkplaces": [
{
"name": "OpenCare Hospital",
"address": "Gulshan, Dhaka"
}
]
}UX Notes:
- Use a clean vertical layout on mobile, split column view on desktop
- Sections should collapse or hide if corresponding data is missing
- “Contact” button can initiate email or phone call (if info is present)
- Scrollspy or anchor nav for sections if page is long
4. 🏥 Hospital List Page
Route: /hospitals
Sections:
-
Search & Filter Panel
-
Filters:
name(text search)district(dropdown from district list)division(optional, for hierarchical filtering)hospitalType.englishName(e.g., College, Clinic)organizationType.name(e.g., Government, Private)
-
-
Hospital Card List (grid or vertical list)
-
Card Elements:
name(English) and optionallybnName(Bangla)hospitalType.englishNameorbanglaNameorganizationType.nameorbanglaNamedistrict.nameorbnNamenumberOfBed(if available)websiteUrlas an external link (open in new tab)- Optional: Static map preview or location icon using
latandlon
-
-
Pagination
- Based on
totalItems(if present) - Support for page navigation or infinite scroll
- Based on
Expected Data Structure:
{
"id": 1,
"name": "Dhaka Medical College Hospital",
"bnName": "ঢাকা মেডিকেল কলেজ হাসপাতাল",
"numberOfBed": 1700,
"district": {
"name": "Dhaka",
"bnName": "ঢাকা"
},
"hospitalType": {
"englishName": "College",
"banglaName": "কলেজ"
},
"organizationType": {
"name": "Government",
"banglaName": "সরকারি"
},
"lat": "23.72611495235723",
"lon": "90.39758820237896",
"websiteUrl": "https://dmch.gov.bd/"
}UX Notes:
- Clicking a hospital card opens
/hospitals/:id - Show badge-style labels for type and organization (e.g., "College", "Government")
- If no beds or map info, hide gracefully
- Use link icon or "Visit Website" button for
websiteUrl - Search and filters should debounce and update result list without full page reload
- Responsive card layout: 1 column on mobile, 2–3 on tablet/desktop
5. 🏥 Hospital Details Page
Route: /hospitals/:id
Sections:
-
Header Section
-
Hospital Name:
name(English), optionallybnName(Bangla) -
Type & Ownership:
hospitalType.englishName(e.g., "College")organizationType.name(e.g., "Government")
-
Verified Badge (optional if policy applies)
-
Website Link:
websiteUrlwith button “Visit Website”
-
-
Basic Information Block
-
Number of Beds:
numberOfBed -
Location Info:
district.name+division.name(in both English & Bangla if needed)district.urlanddivision.urlas external links
-
Map Preview:
- Use
latandlonto show hospital location on embedded or static map
- Use
-
-
Organization Description
organizationType.descriptionas a paragraph or info box
-
Optional Location Hierarchy
district,upazila,unionif available
Expected Data Structure:
{
"id": 1,
"name": "Dhaka Medical College Hospital",
"bnName": "ঢাকা মেডিকেল কলেজ হাসপাতাল",
"numberOfBed": 1700,
"hospitalType": {
"englishName": "College",
"banglaName": "কলেজ"
},
"organizationType": {
"name": "Government",
"banglaName": "সরকারি",
"description": "Government Description"
},
"district": {
"name": "Dhaka",
"bnName": "ঢাকা",
"url": "www.dhaka.gov.bd",
"division": {
"name": "Dhaka",
"bnName": "ঢাকা",
"url": "www.dhakadiv.gov.bd"
}
},
"lat": "23.72611495235723",
"lon": "90.39758820237896",
"websiteUrl": "https://dmch.gov.bd/"
}UX Notes:
-
Use breadcrumb nav: Home > Hospitals >
Hospital Name -
External links (
websiteUrl, district/division URLs) open in a new tab -
If
numberOfBedisnull, hide the field -
Use a map component to visually show the hospital’s location
-
Responsive layout:
- Top info block + sidebar map on desktop
- Stacked layout on mobile
6. 🏛 Institution List Page
Route: /institutions
Sections:
-
Search & Filter Panel
-
Filters:
name(text input)districtordivision(dropdowns)hospitalType.englishName(e.g., College, Clinic)organizationType.name(e.g., Government, Private)establishedYear(range or from/to year optional)
-
-
Institution Card List (grid or vertical list)
-
Card Elements:
acronym(e.g., DMC, SSMC)nameandbnName(both English & Bangla if available)establishedYearenroll(number of enrolled students)district.name+division.namehospitalType.englishNameorganizationType.namewebsiteUrlas an external link (optional)- Optional: Map preview if
latandlonare available
-
-
Pagination
- Supports numbered navigation or infinite scroll
Expected Data Structure:
{
"id": 1,
"acronym": "DMC",
"name": "Dhaka Medical College",
"bnName": "ঢাকা মেডিকেল কলেজ",
"establishedYear": 1946,
"enroll": 230,
"district": {
"name": "Dhaka",
"bnName": "ঢাকা",
"division": {
"name": "Dhaka",
"bnName": "ঢাকা"
}
},
"hospitalType": {
"englishName": "College"
},
"organizationType": {
"name": "Government"
},
"lat": "23.725983288480617",
"lon": "90.39573371854017",
"websiteUrl": "http://dmc.edu.bd"
}UX Notes:
- Clicking a card opens
/institutions/:id - Cards should be responsive, with 1–3 columns depending on screen width
- If
latandlonpresent, show map icon or preview - “Visit Website” button for
websiteUrl(open in new tab) - If any field is missing (e.g.,
lat,enroll,websiteUrl), hide it gracefully - Search and filters should dynamically update list (AJAX or debounce)
7. 🎓 Institution Details Page
Route: /institutions/:id
Sections:
-
Header Section
-
Institution Name:
name(English) and optionallybnName(Bangla) -
Acronym: Display
acronym(e.g., DMC) -
Ownership & Type:
organizationType.name(e.g., "Government")hospitalType.englishName(e.g., "College") — use a better label like "Institution Type" if needed
-
Website Button:
websiteUrlshown with a button “Visit Website” that opens in a new tab
-
-
Basic Information Block
-
Established Year:
establishedYear -
Enrolled Students:
enroll -
Location Info:
district.name+division.name(and optionallybnNamefor both)district.urlanddivision.urlshown as external links
-
Map Preview:
- Use
latandlonto show institution’s location via embedded or static map
- Use
-
-
Organization Description
organizationType.descriptionshown in an info box or as a paragraph
-
Optional Hierarchy Info
- Show
district, optionallyupazila, andunionif future data includes them
- Show
Expected Data Structure:
{
"id": 1,
"acronym": "DMC",
"name": "Dhaka Medical College",
"bnName": "ঢাকা মেডিকেল কলেজ",
"establishedYear": 1946,
"enroll": 230,
"hospitalType": {
"englishName": "College",
"banglaName": "কলেজ"
},
"organizationType": {
"name": "Government",
"banglaName": "সরকারি",
"description": "Government Description"
},
"district": {
"name": "Dhaka",
"bnName": "ঢাকা",
"url": "www.dhaka.gov.bd",
"division": {
"name": "Dhaka",
"bnName": "ঢাকা",
"url": "www.dhakadiv.gov.bd"
}
},
"lat": "23.725983288480617",
"lon": "90.39573371854017",
"websiteUrl": "http://dmc.edu.bd"
}UX Notes:
-
Use breadcrumb:
Home > Institutions > Institution Name -
External links (e.g., website, district, division) open in a new tab
-
Hide fields like
enroll,establishedYearifnull -
Responsive design:
- Header + sidebar map on desktop
- Stacked layout for mobile
-
Make
acronymstand out visually near the title
8. 📖 Our Story Page
Route: /our-story
As it is only content.
https://opencarebd.com/our-story