opp-portal-inf / README.md
Oman Public Prosecution Project (OPP)
oman public prosecution
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.
Project Links
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
- Run docker-compose to start the application
docker-compose up
- Populate the strapi database with latest export using
strapi import - Once the application is running, open your browser and navigate to:
# Frontend
http://localhost:3000
# Backend (Strapi)
http://localhost:1337
Tech Stack
| Category | Tool | Description |
|---|---|---|
| Frontend | Next.js v15 | UI library/framework |
| Backend | Strapi CMS | Server-side language/framework |
| Backend | DotNet (Internally Hosted within OPP) | Server-side language/framework |
| Database | Postgres | Relational/NoSQL DB |
| Containerization | Docker | Container platform |
| Orchestration | Docker Compose | Container orchestration |
| CI/CD | Github Actions | Workflow automation |
Project Team
| Name | Role | GitHub |
|---|---|---|
| Adnan Al Barakat | Project Manager | N/A |
| Iman Al Wahaibi | UX/UI Designer | @Iemankm |
| Ahmed Al Wahaibi | Tech Lead | @wahaibi0 |
| Rizwan Ali Khan | Lead Backend Developer | @rizwanalikhan |
| Mariya Al Shaaibi | Lead 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!