phenix-zendesk-forms
Angular 7 structured-submission forms (land-only sales, DMC, groups, PI requests) for Travel Counsellors, backed by a tiny ASP.NET Core 1.1 email service that formats submissions and sends them via the Phenix mail WCF service.
Health score
0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.
Facts
| Languages | typescript, csharp |
| Frameworks | Angular 7, ASP.NET Core 1.1 |
| Runtimes | .NET Framework 4.5.2, nodejs |
| Tests / CI | some / CI in place |
| Last commit | 2019-10-21 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Agent tools and community (system generated; curate in repo-owners.json to override) |
| Product area | Phenix |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 14 release pipeline(s): phenix-zendesk-forms develop; phenix-zendesk-forms email service Production; phenix-zendesk-forms email service Stealth; phenix-zendesk-forms email service develop; phenix-zendesk-forms email service feature; phenix-zendesk-forms email service staging; phenix-zendesk-forms feature; phenix-zendesk-forms master; phenix-zendesk-forms ui Production; phenix-zendesk-forms ui Staging Stealth; phenix-zendesk-forms ui Stealth; phenix-zendesk-forms ui develop; phenix-zendesk-forms ui feature; phenix-zendesk-forms ui staging |
| Integration | rest, wcf, smtp |
| Source | Open in Azure DevOps |
Risk flags
Each flag links to its glossary definition.
Dependencies in context
Entanglement
kernel Bound into the core by 2 mechanism(s).
- Pinning dependency: mail-service
- Speaks WCF (client)
Detaches when its pinning dependencies are cut or multi-targeted (mail-service); and when its WCF surface gains a modern interface or its WCF calls move to one.
Depends on / used by
Migration playbooks
Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.
ZDD adoption
Not applicableNot a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Retirement or consolidation candidate; do not invest in ZDD adoption.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Retire insteadThis repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.
Recommended actions
Review phenix-zendesk-forms for retirement
Dormant (last commit 2019-10-21) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.
Impact: Shrinks the estate before the expensive work begins
proposedAssessment notes
phenix-zendesk-forms
Purpose
"Forms for TCs to submit data correctly in order to prevent an email chain": an Angular form app (LandOnlyAngularForm) with flows for land-only sales, DMC bookings, groups (corporate/sports) and PI requests, plus a backend (LandOnlyEmailService) with one controller per form that turns the submission into a formatted email and sends it, feeding downstream ticketing (Zendesk).
Tech stack
Two-part repo. Backend: C# ASP.NET Core MVC 1.1 hosted on .NET Framework 4.5.2 (win7-x86 runtime identifier), Autofac DI, Swashbuckle 1.0 Swagger, Application Insights, and TC.Core.ServiceClients/TC.Mail.ServiceContract for the mail service call. Frontend: Angular 7 with TypeScript 3.2, built by Angular CLI with Karma/Protractor scaffolding.
Deployment
Historically heavily released: release_count 14 across 14 release pipelines (email service and UI each with develop/feature/staging/stealth/production variants) fed by 8 build pipelines. The repo's azure-pipelines.yml builds only the email service (old v0.9.2 template ref); UI builds are separate classic pipelines. Deploys to IIS via PowerShell scripts in deployment/ (app pool/website configuration, Slack webhook notification).
Dependencies
Internal: the Phenix mail service (mail-service) — the Live config points at http://phenixservices.travelcounsellors.com/Services/MailService/MailServiceHost.svc over plain HTTP. External: Zendesk (ticketing target of the emails), Application Insights, Slack deployment webhooks.
Data stores
None — submissions are transformed straight into emails; nothing is persisted locally.
Integration points
Inbound REST from the Angular forms to the email service; outbound WCF to the mail service, which delivers over SMTP. No database, no message bus.
Code health
Dormant since 2019-10-21. Backend has no test project at all; the Angular app has only CLI-scaffolded spec files. README is untouched Azure DevOps boilerplate. ASP.NET Core 1.1 and Angular 7 are both years past end-of-life, and the mail endpoint is hardcoded HTTP.
Modernisation risks
High: an EOL runtime (ASP.NET Core 1.1 on net452) and EOL front end still carrying 14 production-linked release pipelines. The functionality is simple (forms-to-email) and could be rebuilt quickly — e.g. as native Zendesk forms or a small .NET 8 API plus a phenix-ui app — which would also remove the plain-HTTP WCF mail dependency.