About this software
About HouseMate Booking Platform
HouseMate is a single ASP.NET Core MVC application (.NET 10, C#, ADO.NET, no ORM) that serves a customer website, an admin panel and a technician app from one SQL Server database. Customers browse a service catalogue, book in five steps as a guest or account holder, pay online through Stripe checkout or pay the technician on completion, and track or reschedule bookings. Staff manage bookings, technicians, payments, refunds, invoices (PDF), notifications, feedback and reports, with role-based permissions. It is built for Dubai (AED, VAT, Asia/Dubai time zone, UAE mobile validation) and ships with Docker Compose, schema and demo seed data, and four test suites (133, 94, 15 and 18 checks) run against a live instance. The digest shows roughly 140 Razor pages, with no native mobile app; the technician app is an installable PWA.
Why HouseMate Booking Platform
What makes it better
than the alternatives
- 01
Three apps, one database
Customer website, admin panel and technician PWA share one SQL Server schema, so every change shows everywhere at once.
- 02
Webhook-verified payments
CLAUDE.md states payments are marked paid only by a verified Stripe webhook, never a browser redirect; 15 signed-webhook scenarios are tested.
- 03
Security-reviewed auth
Three cookie schemes, BCrypt hashing, security stamps that end sessions, rate limits, antiforgery and a nonce-based CSP are in the code, with a security regression suite.
- 04
No build step or ORM
Plain Razor views, vanilla JavaScript and ADO.NET with a documented architecture and an AI-agent guide make it easy to extend.
- 05
Ready to run
Dockerfile, docker-compose, idempotent schema applied at start-up, demo seed data, setup guide, API and database docs are included.
Customer Website
- Service catalogue with categories
- options
- add-ons
- area surcharges and minimum orders
- Five-step booking as guest or account holder with live slot availability
- Booking tracking by reference and mobile
- plus reschedule and cancel
- Reviews page
- contact form
- privacy
- terms and refund policy pages
Customer Account
- Registration
- email verification
- login and password reset
- Bookings
- invoices with PDF receipts
- payment history and saved addresses
- Feedback history and a data deletion request
Payments
- Stripe checkout
- refunds and session expiry
- Pay in full
- pay an advance or pay the technician on completion
- Admin payment settings with a connection test
- outstanding payments and refund screens
- Simulated gateway for demos only
Admin Bookings and Operations
- Booking list and calendar
- with admin-created bookings for phone customers
- Technician assignment and status changes
- Management of services
- categories
- areas
- technicians and customers
- Enquiry inbox from the contact form
Invoices and Reports
- Invoice list
- preview and PDF generation (QuestPDF)
- Reports on bookings
- revenue
- payments
- outstanding balances
- services
- technicians and feedback
- Dashboard with today's bookings and revenue
Technician App
- Installable PWA with a service worker and manifest
- Jobs
- status updates
- notes
- photos
- location and cash handling
- Job completion checklist with after photos and payment settlement
Notifications and Feedback
- Email and WhatsApp template editors with notification history and retry
- SMTP configuration
- Feedback with category ratings and approval of reviews for the website
Users, Roles and Settings
- Admin and Manager roles with a permission matrix
- User management and branding with logo upload
- General
- booking
- finance
- notification and payment settings
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| SQL | — | — | Database | 30.8% |
| C# | — | — | Web, API, admin | 29.1% |
| JavaScript | — | — | Front-end | 18.2% |
| C# (Razor) | — | — | Web pages | 16.9% |
| CSS | — | — | Styling | 4.6% |
| PowerShell | — | — | Scripts | 0.5% |
- Primary language
- C# (.NET 10)
- Framework
- ASP.NET Core MVC on .NET 10 with Razor views
- Database
- Microsoft SQL Server 2019+ (Docker image uses SQL Server 2022)
- Authentication
- ASP.NET Core cookie authentication
- Licence
- Single-site
- Screens
- 131
- Database tables
- 25
- Supported languages
- English (en-GB culture). No Arabic or other language packs in the code; no RTL support
- Browser support
- Modern evergreen browsers (end-to-end tests run in headless Chromium via Playwright)
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB (app and SQL Server) | 8 GB |
| OS | Linux (Docker image) or Windows host; .NET 10 runtime, .NET 10 SDK to build | Linux (Docker image) or Windows host; .NET 10 runtime, .NET 10 SDK to build |
| Est. monthly hosting | $40 | $40 |
Requires Docker with Compose. ``` cp .env.example .env # edit .env and set MSSQL_SA_PASSWORD (at least 8 characters, upper and lower case, a digit and a symbol) docker compose up -d --build ``` Open http://localhost:5000. The compose file enables demo data and the simulated payment gateway over plain HTTP. Remove those lines for a live deployment.
Requires the .NET 10 SDK and a SQL Server 2019+ instance. ``` dotnet publish "NET Project/HouseMate.Web" -c Release -o /var/www/housemate export ConnectionStrings__HouseMate="Server=localhost;Database=HouseMate;User Id=housemate;Password=<your-password>;TrustServerCertificate=True;Encrypt=True" export App__PublicBaseUrl="https://your-domain.example" cd /var/www/housemate && dotnet HouseMate.Web.dll ``` Follow HowToSetup.md for the full configuration, SMTP settings and the bootstrap admin account.
Open the project folder in Claude Code, then ask it to read CLAUDE.md and HowToSetup.md and walk you through the local setup and the first run.
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.
78/ 100
Automated audit score
✓ Passed the auditReviewer notes (5 minor)
Well-organised layers, but several god files and copy-pasted handler patterns weaken maintainability; lockfile present, but package contents were not visible so versions could not be verified; parameterised ado.net seen in visible code; schema and most sql files were not available for review; likely buildable, but key build files were not visible and several setup gaps remain; auth well-structured, but only part of the api was visible and a few unauthenticated paths need review. 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.