About this software
About UPTECH Realty Pro — Real Estate Website, CRM & Rental Management
UPTECH Realty Pro is a self-hosted application for one real estate company, not a multi-tenant SaaS. It combines a public property website with map search (Leaflet), a back-office CRM for listings, leads, viewings, deals and commissions, and a rentals module covering leases, rent invoices, post-dated cheques, maintenance and owner statements. Tenants and landlords get their own portal. The backend is an ASP.NET Core 10 API with EF Core on SQL Server and SignalR notifications; the frontend is one Angular 21 app serving the website, /admin and /portal. It ships with Docker files, a schema.sql/seed.sql, a demo agency (Skyline Properties, Dubai, AED) and documentation, plus 189 backend and 75 frontend tests as stated in the repo guide.
Why UPTECH Realty Pro — Real Estate Website, CRM & Rental Management
What makes it better
than the alternatives
- 01
Cheque-aware rentals
Post-dated cheques have a register with deposit, clear (records the rent payment), bounce (optional late fee, alerts), return and replace actions.
- 02
Website wired to the CRM
The public site and the back office live in one Angular app and one API, with area pages, projects, agent profiles and rate-limited enquiry forms.
- 03
Six-role access model
Admin, Manager, Agent, Accountant, Tenant and Landlord are enforced by policies, and a reflection test fails if a new write endpoint lacks a role policy.
- 04
Hardened sign-in
Five failed logins lock an account for 15 minutes, refresh tokens are single-use and reuse revokes all sessions, and auth endpoints are rate-limited.
- 05
Ready-to-evaluate package
A demo mode builds a year of data with one-click role sign-in, with schema and seed SQL, Docker setup, API and data-model docs included.
Public Website
- Property listings with map search
- Area pages
- off-plan projects
- agents and testimonials
- Enquiry forms with rate limiting
- Company logo
- brand colour and website text set in Settings
Listings
- Listing editor with photos
- Publishing to the website
- Property picker and area catalogue
- Per-company currency and area unit (sqft/sqm)
Leads & Contacts
- Lead pipeline with activity history
- Contacts typed as clients
- owners
- tenants and vendors
- Agents limited to clients and owners
- Portal login creation with a one-time password
Viewings & Deals
- Viewing calendar and form
- Deal flow: Offer
- Reserved
- Contract
- Closed or Cancelled
- Closing marks the property sold or rented and drafts a lease for rentals
Commissions
- Commission created when a deal closes
- Manager approval
- Finance marks paid with a transfer reference
- Agents see only their own
Rentals
- Leases with rent invoices and payments
- Post-dated cheque register and batch entry
- Late fees
- charges and receipts
- Maintenance requests with expenses
- Owner statements
Tenant & Landlord Portal
- Tenant: lease
- payments and receipts
- report a repair
- Landlord: units
- monthly statements
- repairs on own units
Dashboard, Reports & Admin
- Dashboard with SQL-aggregated figures and charts
- Reports screen
- Team and access management
- Audit log
- Notifications page with live SignalR updates
- Command palette and dark mode
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| TypeScript | — | — | Front-end | 32% |
| HTML | — | — | Front-end | 23.2% |
| C# | — | — | Web, API, admin | 23% |
| SCSS | — | — | Styling | 17.1% |
| SQL | — | — | Database | 3.8% |
| Python | — | — | Web, API | 0.3% |
| CSS | — | — | Styling | 0.3% |
| JavaScript | — | — | Front-end | 0.2% |
| PowerShell | — | — | Scripts | 0% |
- Primary language
- C# on .NET 10 + TypeScript 5.9
- Framework
- ASP.NET Core 10 API + Angular 21 web app
- Database
- SQL Server 2019 or newer (Express, Developer, Standard, Enterprise) or Azure SQL
- Authentication
- JWT access tokens (15 min) with rotating refresh tokens, role policies, account lockout after 5 failed sign-ins
- Licence
- Single-site
- Screens
- 80
- Database tables
- 26
- Supported languages
- English UI text as shipped; no translation files in the digest; no RTL support evidenced
- Browser support
- Current evergreen desktop and mobile browsers; layout works at 390 px width
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB RAM | 8 GB RAM |
| OS | Linux or Windows Server; .NET 10 runtime; Node 20.19+ or 22.12+ to build the Angular app; SQL Server 2019+ | Linux or Windows Server; .NET 10 runtime; Node 20.19+ or 22.12+ to build the Angular app; SQL Server 2019+ |
| Est. monthly hosting | $30 | $30 |
Build the API image from the Dockerfile in the NET Project folder, then run it with the connection string and JWT key as environment variables (`ConnectionStrings__Default`, `Jwt__Key`). ```bash cd "UPTECH-Realty-Pro/NET Project" docker build -t uptech-realty-pro . docker run -p 8080:8080 -e "ConnectionStrings__Default=Server=HOST;Database=UptechRealtyPro;User Id=USER;Password=PASSWORD;TrustServerCertificate=True" -e "Jwt__Key=REPLACE_WITH_LONG_RANDOM_KEY" uptech-realty-pro ```
Build the Angular app into the API's wwwroot, then run the API on the server. The Angular project includes an nginx.conf for serving the site. ```bash cd "UPTECH-Realty-Pro/Angular Project" && npm ci && NG_CLI_ANALYTICS=false npm run build cd "../NET Project/src/RealtyPro.Api" && dotnet publish -c Release -o /srv/realty cd /srv/realty && dotnet RealtyPro.Api.dll ```
```bash cd "UPTECH-Realty-Pro/NET Project/src/RealtyPro.Api" && dotnet run cd "UPTECH-Realty-Pro/Angular Project" && npm ci && npm start ```
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
Reviewer notes (3 minor)
No real credentials found; published demo password ships as a config default; authz not verifiable: no controller code visible; client-side role flags and demo password are the only evidence; data layer appears sound, but the digest has no query code, so i could not verify injection, scoping or indexes. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.