Built to order

Freelance Services Marketplace

This project builds a freelance marketplace where clients post projects, freelancers bid with proposals, and work is contracted through escrow-protected milestones — the client funds a milestone upfront, the freelancer delivers, and money releases only on approval. An immutable ledger records every fund movement, so money can never be released twice or lost between states. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.

Web Development Node.jsGitMongoDBExpress.jsJWT authenticationPayment gateway sandboxVue.jsEscrow ledger designSoftware
Freelance Services Marketplace — project thumbnail preview
More project photos (3)

The problem

Freelancing in India runs largely on WhatsApp groups and word of mouth — clients cannot verify a freelancer's track record, freelancers chase payments for weeks, and neither side has recourse when a project goes wrong. This project replaces trust-by-hope with trust-by-design: freelancer profiles with skills, portfolios and verification badges; project posting with a proposal flow; milestone contracts where funds are held in escrow and released on approval; per-project messaging; and a two-sided rating plus dispute system. The engineering emphasis is the money flow — every fund movement is an immutable ledger entry (hold, release, refund), so balances are always recomputable and double-release is structurally impossible.

SYSTEM FLOW

5 components 7 connections

Live flow
Drag to explore
100%
userClient

Posts projects, funds milestones and approves work.

Follow the working sequence

How it works

  1. A client posts a project with budget, description and timeline.
  2. Freelancers submit proposals with quotes; the client compares profiles, ratings and bids.
  3. The client accepts one proposal, defines milestones and funds the first — the ledger records a hold.
  4. The freelancer delivers through the project workspace; the client approves or requests revision.
  5. Approval releases the hold to the freelancer's balance (minus platform fee) as a new ledger entry.
  6. Disputes freeze the milestone for admin resolution; completed projects publish two-sided ratings.

Tech stack:

  • Vue.js 3 single-page application
  • Node.js + Express REST API
  • MongoDB (users, projects, contracts, ledger)
  • Append-only ledger for fund movements
  • Contract state machine (posted/funded/delivered/released/disputed)
  • JWT authentication
  • Payment gateway sandbox for escrow simulation
Parameter Value
Money safety Immutable ledger; double-release structurally impossible
Contract states Posted, proposed, funded, delivered, released, disputed, refunded
Platform fee Configurable percentage on release (design target)
Verification Badge-based (ID + skill proof reviewed by admin)
Messaging Per-contract real-time chat
Deployment Self-hosted Node.js + MongoDB

Project features

  • [Freelancer profiles] Skills, portfolio, hourly rates, availability calendar and verification badges.
  • [Project posting and proposals] Clients post with budget and timeline; freelancers submit proposals with quotes.
  • [Milestone escrow] Client funds a milestone upfront; release happens only on delivery approval — enforced as a state machine.
  • [Immutable money ledger] Every hold, release and refund is an append-only entry; balances recompute from the ledger.
  • [Per-project messaging] Real-time chat workspace between client and freelancer for each contract.
  • [Two-sided ratings] Public reviews after completion feed profile scores on both sides.
  • [Dispute workflow] Either party can freeze a milestone for admin resolution with full history visible.

What is included

  • Complete source code (Vue.js frontend, Express API, ledger module, seed data)
  • Money-flow design document (ledger entries, state transitions)
  • Setup guide (local run, gateway sandbox, deployment notes)
  • Project report PDF (background, escrow design, trust systems, testing notes)
  • PPT presentation for final review
  • Viva Q&A preparation document (ledgers, state machines, marketplace dynamics, auth)

Limitations & prerequisites

  • Escrow runs in gateway sandbox mode — live money movement needs merchant onboarding and compliance review.
  • Identity verification is badge-based admin review, not a government ID API integration.
  • The demo ships with sample freelancers and projects; a real marketplace needs supply-side seeding.
  • Time-tracking for hourly contracts is not included in this build.
  • Dispute resolution is manual by the admin; no arbitration automation.
  • High-volume matching would need search-index tuning beyond the student build.

Frequently Asked Questions

How is the money actually protected?

The client funds each milestone before work starts, but the freelancer cannot touch it until the client approves delivery. Every movement is an immutable ledger entry.

What stops double payment?

The ledger is append-only and releases are idempotent by milestone ID — the same milestone cannot be released twice even if the button is clicked twice.

What happens in a dispute?

Either party raises a dispute, the milestone freezes, and the admin reviews the full message and delivery history before releasing or refunding.

How do freelancers get discovered?

Search by skill, rate and rating, plus category browsing — new freelancers can bid competitively to build reviews.

Is payment real?

The demo uses sandbox mode. The hold/release flow is fully implemented and works with live keys after onboarding.

Is this project suitable for a final-year project?

Yes — for Computer Science, IT and related programs. It demonstrates full-stack development, financial-ledger design, state machines and marketplace trust systems. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.

Components & software requirements
  • Vue.js 3 single-page application
  • Node.js + Express REST API
  • MongoDB (users, projects, contracts, ledger)
  • Append-only ledger for fund movements
  • Contract state machine (posted/funded/delivered/released/disputed)
  • JWT authentication
  • Payment gateway sandbox for escrow simulation
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation