mohup-unified-portal / README.md

mohup-unified-portal

Last updated: 4/16/2026GitHubMoHUP

mohup-unified-portal

A modern, unified digital portal for the Ministry of Housing and Urban Planning (MoHUP), designed to streamline access to housing and urban planning services in Oman. The portal provides citizens, residents, and businesses with a seamless way to apply for services, track application status, view interactive maps, and access up-to-date information—all in one place. It empowers users with intuitive self-service tools, transparent processes, and timely notifications to enhance their experience and satisfaction.

Problem Statement

Prior to the unified portal, users faced fragmented online services, inconsistent application processes, and limited visibility into the status of their requests with the Ministry of Housing and Urban Planning. This often led to confusion, repeated visits, and inefficiency for both users and ministry staff. The mohup-unified-portal addresses these challenges by centralizing all MoHUP services, standardizing user journeys, and providing real-time status updates, ultimately improving accessibility, transparency, and operational efficiency for all stakeholders.


Getting started

Pre-requisites

List all prerequisites for the project to be able to run on any system:

  • Node.js (v22)
  • Docker (v24.0.2)
  • Make
  • PostgreSQL Server (or Dockerized)
  • [Optional] Golang (if running backend directly)
  • [Optional] Strapi CLI

Project setup

Clone the repository

git clone https://github.com/rihal-om/mohup-unified-portal.git
cd mohup-unified-portal

Running the app locally

Run docker-compose to start the application

docker-compose up
# or
make run

Populate the database

make populate-strapi

Real Data population

In case you wanted the real data to exists in your local machine for the purpose of development You'll find the files here

Open this link in one drive https://rihalom598-my.sharepoint.com/my?id=%2Fpersonal%2Fabdulkarim%5Fkhayari%5Frihal%5Fom%2FDocuments%2Ffor%20MoHUP&ct=1758794663090&or=Teams%2DHL&ga=1&LOF=1

download both files

for uploads.tar.gz, uncompress it, and move it into ./strapi/public/uploads

for backup.sql, you'll need to copy it inside strapi's database container, do the following commands:

docker cp ./backup.sql <container_id>:/

docker exec -it <container_id> bash

psql -U postgres -d strapi

\i /backup.sql  # note that the path might change, so be careful

Once the application is running, open your browser and navigate to:


Tech Stack

CategoryToolDescription
FrontendNext.js (TypeScript)UI library/framework
BackendGolangServer-side language/framework
DatabasePostgreSQLRelational DB
CMSStrapiHeadless CMS
ContainerizationDockerContainer platform
CI/CDGitHub ActionsWorkflow automation

Project Team

NameRoleGitHub
Hisham Al HarrasiBackend Dev@HishamAl-Harrasi
Abrar Al HadabiLead Designer@abraralhadabi
Safiya BaOmarUI/UX Designer@SafBaomar
Jishnu KidileUI/UX Designer@jkidile
Maymoona Al BalushiSr. Front End@MaymoonaAlBoloshi
Abdulkarim Al KhayariBackend Dev@abdulkarim1998
Shah NawazBackend Dev@shuv1824
Mohammed Bait OthmanFrontend Dev@moham1233
Riham Al KhamiasiJr. Frontend Dev@RehamCodes

Feel free to reach out to any of us for questions, feedback, or collaboration opportunities. We are always open to discussing new ideas and improvements for the project.