1. 🏠 Home Page
Route: /
Sections:
-
Hero Section:
- Search input:
placeholder="Search doctors, hospitals, institutions"
-
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:
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 if null
- Full Name (
profile.name)
- Gender (
profile.gender)
- BMDC Number (
bmdcNo)
- Verified Badge (
isVerified)
- Contact Info (if
profile.email or profile.phone available)
-
About / Description Section
- Field:
description (optional long-form bio or intro)
- If
null, display “No description provided.”
-
Degrees & Specializations
- List of Degrees from
doctorDegrees (if available)
- List of Specializations from
specializations (if available)
- Each item as a chip or bullet
-
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, and profile.address if available
- Optional: Embed map if address is specific
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 optionally bnName (Bangla)
hospitalType.englishName or banglaName
organizationType.name or banglaName
district.name or bnName
numberOfBed (if available)
websiteUrl as an external link (open in new tab)
- Optional: Static map preview or location icon using
lat and lon
-
Pagination
- Based on
totalItems (if present)
- Support for page navigation or infinite scroll
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), optionally bnName (Bangla)
-
Type & Ownership:
hospitalType.englishName (e.g., "College")
organizationType.name (e.g., "Government")
-
Verified Badge (optional if policy applies)
-
Website Link: websiteUrl with button “Visit Website”
-
Basic Information Block
-
Organization Description
organizationType.description as a paragraph or info box
-
Optional Location Hierarchy
district, upazila, union if 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 numberOfBed is null, 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)
district or division (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)
name and bnName (both English & Bangla if available)
establishedYear
enroll (number of enrolled students)
district.name + division.name
hospitalType.englishName
organizationType.name
websiteUrl as an external link (optional)
- Optional: Map preview if
lat and lon are 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
lat and lon present, 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 optionally bnName (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: websiteUrl shown with a button “Visit Website” that opens in a new tab
-
Basic Information Block
-
Organization Description
organizationType.description shown in an info box or as a paragraph
-
Optional Hierarchy Info
- Show
district, optionally upazila, and union if future data includes them
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, establishedYear if null
-
Responsive design:
- Header + sidebar map on desktop
- Stacked layout for mobile
-
Make acronym stand out visually near the title
8. 📖 Our Story Page
Route: /our-story
As it is only content.
https://opencarebd.com/our-story
1. 🏠 Home Page
Route:
/Sections:
Hero Section:
placeholder="Search doctors, hospitals, institutions"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:
/search?query=...2. 👨⚕️ Doctor List Page
Route:
/doctorsSections:
Filter/Search Panel (Top or Sidebar):
List of Doctor Cards:
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:
/doctors/:id3. 👤 Doctor Details Page
Route:
/doctors/:idSections:
Doctor Header Section
profile.photo) — show default avatar ifnullprofile.name)profile.gender)bmdcNo)isVerified)profile.emailorprofile.phoneavailable)About / Description Section
description(optional long-form bio or intro)null, display “No description provided.”Degrees & Specializations
doctorDegrees(if available)specializations(if available)Workplace Information
doctorWorkplaces(hospital/institution name, address)null, show "No workplaces available"Location
profile.district,profile.upazila,profile.union, andprofile.addressif availableExpected 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:
4. 🏥 Hospital List Page
Route:
/hospitalsSections:
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)latandlonPagination
totalItems(if present)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:
/hospitals/:idwebsiteUrl5. 🏥 Hospital Details Page
Route:
/hospitals/:idSections:
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:
numberOfBedLocation Info:
district.name+division.name(in both English & Bangla if needed)district.urlanddivision.urlas external linksMap Preview:
latandlonto show hospital location on embedded or static mapOrganization Description
organizationType.descriptionas a paragraph or info boxOptional Location Hierarchy
district,upazila,unionif availableExpected 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 NameExternal links (
websiteUrl, district/division URLs) open in a new tabIf
numberOfBedisnull, hide the fieldUse a map component to visually show the hospital’s location
Responsive layout:
6. 🏛 Institution List Page
Route:
/institutionsSections:
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)latandlonare availablePagination
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:
/institutions/:idlatandlonpresent, show map icon or previewwebsiteUrl(open in new tab)lat,enroll,websiteUrl), hide it gracefully7. 🎓 Institution Details Page
Route:
/institutions/:idSections:
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 neededWebsite Button:
websiteUrlshown with a button “Visit Website” that opens in a new tabBasic Information Block
Established Year:
establishedYearEnrolled Students:
enrollLocation Info:
district.name+division.name(and optionallybnNamefor both)district.urlanddivision.urlshown as external linksMap Preview:
latandlonto show institution’s location via embedded or static mapOrganization Description
organizationType.descriptionshown in an info box or as a paragraphOptional Hierarchy Info
district, optionallyupazila, andunionif future data includes themExpected 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 NameExternal links (e.g., website, district, division) open in a new tab
Hide fields like
enroll,establishedYearifnullResponsive design:
Make
acronymstand out visually near the title8. 📖 Our Story Page
Route:
/our-storyAs it is only content.
https://opencarebd.com/our-story