About this software
About Taskora
Taskora is a .NET 10 / SQL Server marketplace for jobs such as furniture, gardens, renovation and structural work. Customers post a brief, approved professionals in the category send itemised quotes, and the customer hires one or more as a team and funds stages into escrow. Each stage is released only after customer approval, with payouts to professionals via Stripe Connect. The archive includes an ASP.NET Core API, a Blazor admin panel, two Flutter apps (customer and Pro) and a test suite. It ships in English, Arabic (RTL), Italian and Spanish, with AED as the default currency.
Why Taskora
What makes it better
than the alternatives
- 01
Stage-by-stage escrow
Milestones are funded, held and released on customer approval, with payout scheduling, retry and back-off, and admin refunds of funded stages.
- 02
Team hiring per project
A customer can hire one quote per role, forming a project team rather than a single contractor.
- 03
Two native Flutter apps
Separate customer and Taskora Pro apps share the same API and four-language string sets, including Arabic RTL.
- 04
Default-deny security model
A global authorize filter, per-controller role and permission policies, ownership checks in services, signed webhooks and start-up checks that block unsafe production config.
- 05
Runtime-configurable admin
Staff configure Stripe, SMTP, theme, logos, email templates, languages and backups from the panel, with secrets encrypted and changes audit-logged.
Customer projects
- Briefs with category questions
- photos
- location and budget
- Category detection from the description
- Compare itemised quotes and hire a team
- Fund stages
- approve work
- request changes
- review professionals
Professional tools
- Category requests and credential document uploads
- Matched leads within the service radius
- nearest first
- Quote builder with itemised quotes
- Stage delivery with evidence uploads
- Earnings screen and Stripe Connect onboarding
Escrow and payments
- Stripe PaymentIntent funding with webhook handling
- Idempotent webhook events stored once by id
- Scheduled payouts with transfer
- on-hold check and retry
- Refunds of funded milestones
- Double-payment detection flag
Admin
- projects and vetting: Project list
- stats and detail views
- Approval gate reviews
- Review professional category requests and documents
- Signed 5-minute file download links
Admin
- payments: Payment and payout lists with summary
- Payout retry
- Milestone refunds
Admin
- content and settings: Category create
- edit
- soft-delete and reorder
- Languages and translation overrides with CSV import/export
- Email templates and test email
- Stripe key check
- theme and logo upload
Dashboard and system tools
- Counts
- six-month charts and top categories
- Setup and integration warnings
- Database and file backups with download
- Seed data and guarded data clear (password
- code
- typed phrase)
- Audit log
Accounts and security
- Customer
- provider and staff roles with permission policies
- JWT access tokens with refresh rotation and reuse revocation
- Staff-only admin sign-in gate
- Dependency lockfiles and tests for access
- funding
- release
- refund and double payment
Deployment
- Dockerfile and dev compose
- IIS deploy guide and publish scripts
- Setup guide with least-privilege SQL login
- Config documentation check tooling
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| C# | — | — | Web, API, admin | 46.2% |
| Dart | — | — | Mobile app | 24.5% |
| C# (Razor) | — | — | Web pages | 15.9% |
| CSS | — | — | Styling | 7.3% |
| SQL | — | — | Database | 2.3% |
| Python | — | — | Web, API | 1.2% |
| HTML | — | — | Front-end | 1.2% |
| JavaScript | — | — | Front-end | 1.1% |
| Shell | — | — | Scripts | 0.2% |
| Swift | — | — | Mobile app | 0.1% |
| Kotlin | — | — | Mobile app | 0% |
- Primary language
- C# (.NET 10) API and Dart (Flutter) apps
- Framework
- ASP.NET Core 10 with Blazor admin, plus Flutter 3
- Database
- SQL Server (minimum version not stated in the source digest)
- Authentication
- ASP.NET Identity with JWT access tokens (15 min) and refresh tokens; role and permission policies
- Licence
- Single-site
- Screens
- 70
- Database tables
- 35
- Supported languages
- English, Arabic (RTL), Italian, Spanish
- Browser support
- Current Chrome, Edge, Firefox and Safari for the website and admin panel (no formal test matrix in the digest)
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| OS | .NET 10 runtime on Linux (Docker) or Windows (IIS); SQL Server database; Flutter apps for iOS and Android | .NET 10 runtime on Linux (Docker) or Windows (IIS); SQL Server database; Flutter apps for iOS and Android |
| Est. monthly hosting | $40 | $40 |
Run from the `NET Project` folder. Set the database passwords as environment variables first; the compose file has no defaults. ```bash export SQL_SA_PASSWORD='<local-password>' export TASKORA_DB_PASSWORD='<app-login-password>' docker compose -f docker-compose.dev.yml up --build ```
Follow `DEPLOY-IIS.md` in the `NET Project` folder. Publish the API and admin projects, then point IIS at the output. ```bash ./publish.sh ```
Open the `Taskora` folder and read `CLAUDE.md` and `HowToSetup.md` first. Then run `./run-all.sh` from `NET Project` to start the API and admin panel locally.
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.
84/ 100
Automated audit score
✓ Approved by our review teamReviewer notes (3 minor)
Weak shipped sql/demo passwords and a committed jwt file; no verified live third-party keys; well-separated solution layout; duplicated flutter apps and hard-coded demo values need trimming; authz cannot be verified: no controllers visible; demo credentials and a committed jwt file raise concern; mostly reproducible; a few unverifiable references and committed artifacts weaken the clean-machine build; lockfiles are present, but their contents were not visible, so no package could be checked against advisories; data layer not fully verifiable; no injection seen, but schema review and secrets handling in sql setup scripts need work. 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.