opp-portal-inf / README.md

Oman Public Prosecution Project (OPP)

oman public prosecution

Last updated: 4/16/2026GitHubopp.stag.rihal.tech/ar

Oman Public Prosecution Project (OPP)

This project is a redesign of the existing Oman Public Prosecution (OPP) website https://www.opp.gov.om/. The primary goals are to modernize the user interface, improve user experience, and integrate a Content Management System (CMS) for easier content updates.

Problem Statement

The current OPP website is outdated in both design and functionality, resulting in a suboptimal user experience, especially on mobile devices. Its static content structure limits the ability to efficiently update frequently changing information, and the existing navigation is unclear, making it difficult for users to locate relevant content. Moreover, the website does not accurately reflect the current organizational structure, services, or strategic direction of the OPP.

A key limitation is the lack of modern, user-friendly eService functionality. Existing eServices are either underutilized, outdated, or difficult to access, which hampers the public’s ability to interact effectively with the organization online.

To address these issues, the website requires a comprehensive redesign and modernization. This includes:

Implementing a fully responsive design for accessibility across all devices,

Integrating a content management system (CMS) to streamline content updates,

Enhancing the user experience through improved navigation and information architecture,

Updating core sections such as Programs, Organization Hierarchy, Royal Decrees, and Royal Orders,

Supporting multilingual content (Arabic and English),

And upgrading or adding eService functionality to better serve users and streamline online interactions.

This modernization effort aims to ensure that the website becomes a dynamic, user-centric platform that effectively communicates the OPP’s structure, services, and mission.

Getting started

Pre-requisites

Project setup

Clone the repository

git clone git@github.com:rihal-om/opp-portal.git
cd opp-portal

Running the app locally

  1. Run docker-compose to start the application
docker-compose up
  1. Populate the strapi database with latest export using strapi import
  2. Once the application is running, open your browser and navigate to:
# Frontend
http://localhost:3000
# Backend (Strapi)
http://localhost:1337

Tech Stack

CategoryToolDescription
FrontendNext.js v15UI library/framework
BackendStrapi CMSServer-side language/framework
BackendDotNet (Internally Hosted within OPP)Server-side language/framework
DatabasePostgresRelational/NoSQL DB
ContainerizationDockerContainer platform
OrchestrationDocker ComposeContainer orchestration
CI/CDGithub ActionsWorkflow automation

Project Team

NameRoleGitHub
Adnan Al BarakatProject ManagerN/A
Iman Al WahaibiUX/UI Designer@Iemankm
Ahmed Al WahaibiTech Lead@wahaibi0
Rizwan Ali KhanLead Backend Developer@rizwanalikhan
Mariya Al ShaaibiLead Frontend Developer@MariyaMoh

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.

Happy coding!