・VISHWAS / PORTFOLIO
0%
INITIALIZING EXPERIENCE
Vol. IX · No. 092025 EditionPrice: one winning bid

The Freelance Gazette

“All the bids that are fit to accept” · Page 09 of 11

Exclusive · Marketplace

FreelanceHub: clients post, freelancers bid — and nothing drifts apart

Post projects, bid, deliver — one marketplace.

By Vishwas K · Solo

A full-stack freelance marketplace: clients post projects, freelancers bid, the client accepts one and tracks the work through deliverables and approval — with role-based dashboards for clients, freelancers and admins.

Under the hood, every acceptance is a single database transaction: the winning bid is accepted, the rest are rejected, the project is assigned and everyone is notified — or none of it happens. Deliverables move through upload, review and approval the same way.

Going, going, gone: one transaction accepts the winner and rejects every other bid.

The process, explained

  1. 1.

    Sign in

    JWT or Google Sign-In, with client, freelancer or admin roles.

  2. 2.

    Post & bid

    Clients post projects; freelancers browse and bid.

  3. 3.

    Accept

    Accepting a bid runs in one MySQL transaction — accept, reject the rest, assign, notify.

  4. 4.

    Deliver

    Freelancers upload deliverables and request review; clients approve, also transactionally.

Classifieds

Wanted

Transactional bidding

Bids and project state can never drift apart.

Box 11 · apply within

For hire

Deliverables flow

Upload, download, review and approve.

Box 12 · apply within

Notice

Notifications & feed

Activity feed and notification centre.

Box 13 · apply within

Available

Custom dashboards

Drag-and-drop widgets per role.

Box 14 · apply within

From the technical desk

Market listings · the stack

ListingSectorChg.
React 19Frontend▲
Bootstrap 5Frontend▲
Chart.jsFrontend▼
react-dndFrontend▲
Node · Express 5Backend▲
JWTBackend▼
bcryptBackend▲
multerBackend▲
MySQLData▼
Read the full story on GitHub ↗
Continued on page 10ArtisanAI →An AI co-pilot that tells an artisan's story.