Portal · Municipal
Tehran District 15: an organisational portal for citizens and staff
The organisational portal of Tehran Municipality District 15 — public information, citizen services and forms, with organisational roles and staged approval — on ASP.NET Core and SQL Server.
- Client
- Tehran Municipality, District 15
- Industry
- Municipal
- Year
- 2024
- Status
- Delivered, under support
- Discovery and analysis
- Software architecture
- Front-end development
- Back-end and API development
- Database design
- Support and ongoing development

The challenge
District 15 needed a portal for two audiences at once — citizens (news, services, forms) and staff (content that updates without an engineering team and is managed by role).
The solution
An organisational portal on ASP.NET Core and SQL ServerCitizen services and forms, with the citizen able to track the status of their own request.
Key features
Roles and staged approval
Each unit writes its own content; publication after approval.
Citizen services and forms
Submit a request and track its status, without a visit.
Public information
News, notices and events with archive and search.
Accessibility and mobile
The same information on every device, screen-reader friendly.
Architecture and stack
- Style
- Monolith
- Patterns
- Clean architecture
A clean-architecture monolith on ASP.NET Core: the content and request domain at the centre, roles and the approval workflow in the application layer, SQL Server and server rendering in infrastructure. For a portal an organisation's own IT unit keeps, one deployment and one database is the right call.
- Front end
- HTML5CSS3JavaScript (ES6+)Responsive Design
Server-rendered
- Back end and API
- ASP.NET CoreC#Clean Architecture
- Database
- SQL Server
Full write-up
The client and the problem
Tehran Municipality's District 15 needed a portal for two audiences at once — citizens (news, services, forms) and staff (content that updates without an engineering team and is managed by role).
What we built
An organisational portal on ASP.NET Core and SQL Server with clean architecture:
- Roles and access— each unit publishes its own content, with staged approval.
- Citizen services and forms, with the citizen able to track the status of their own request.
- Public information — news, notices, events, with archive and search.
- Accessibility and mobile — a citizen on any device must reach the same information.
The result
Live site: region15.tehran.ir
Related services and products
Have a similar project in mind?
Fifteen minutes is enough to say what it needs, how long it takes and where to start.

