← Back to portfolio

Open-Care

Open-source healthcare-information platform for Bangladesh

Featured
Lead contributor — backend architecture, API design, authorization, and deployment.
Duration: Ongoing

Problem / Context

The Challenge

Healthcare information in Bangladesh was fragmented — finding doctors, hospitals, ambulance services, and blood donation resources required navigating multiple disconnected sources.

Context

Personal open-source project. Designed to make healthcare information searchable and accessible in one place.

My Responsibility

  • •Built a Spring Boot REST API with PostgreSQL, Redis, and Keycloak-based authorization
  • •Integrated MinIO for file storage and Liquibase for database migrations
  • •Documented the API with Swagger/OpenAPI for developer discoverability
  • •Containerized the application with Docker and deployed to production
  • •Developed the Next.js frontend interface

Architecture & Key Decisions

JavaSpring BootPostgreSQLRedisKeycloakMinIODockerNext.jsLiquibase

Spring Boot REST API backed by PostgreSQL with Keycloak-based RBAC, MinIO file storage, Liquibase migrations, and a Next.js frontend. Containerized with Docker.

Challenges & Solutions

Challenge #1

Designing an authorization model flexible enough for multiple user types (patients, doctors, organizations)

Solution

Used Keycloak with role-based access control and token introspection to enforce access rules across all API routes

Challenge #2

Making healthcare resource data searchable and consistently structured across many provider types

Solution

Designed a normalized PostgreSQL schema with clear provider-type boundaries and Redis caching for frequently accessed directory data

Lessons Learned

  • →Keycloak's role-based model scales well when authorization rules are defined early in schema design
  • →Swagger/OpenAPI documentation significantly reduces friction for contributors and API consumers
  • →Liquibase migrations keep schema evolution traceable and reproducible across environments