Full-stack2026/ 04

As-a

An Arabic and English marketplace for finding professionals, discussing work, and managing orders.

AR / EN
bilingual interface
RTL
right-to-left layout

Project screenshots

View full size
As-a marketplace homepage with Arabic branding and English content

01 / 06Marketplace homepage

Screenshots show the demo interface. Service data, ratings, badges, and amounts do not represent verified credentials or real trading results.

01Overview

As-a connects people looking for professional services with providers. Buyers can browse services, check what is included, and discuss a job before ordering. Providers have their own workspace for listings, orders, and earnings. The interface supports Arabic and English, including right-to-left layouts.

02What it aims to solve

A service listing only answers part of a buyer's questions. The scope, price, and delivery still need to be agreed on. As-a keeps the conversation and its orders together, so both sides can refer back to the work they discussed and see its status.

03How I built it

The application uses Next.js and TypeScript, with Supabase for accounts, PostgreSQL data, file storage, and message subscriptions. Providers can create an order in a conversation; buyers can also order from a listing. The Tap checkout code checks payments on the server and handles repeated callbacks without settling an order twice. Database permissions and transactions govern who can read or change records.

04Where it stands

The current version includes a service directory, provider onboarding, conversations, order delivery confirmation, and administrator review. The repository has local tests for permissions and payment logic. It remains a product demo: live payment integration, migration of the existing database, and refund and dispute procedures still need acceptance before real transactions are opened.

05What I learned

This project made me pay more attention to what happens after a click. A payment callback can arrive twice, a price sent by the browser cannot be trusted, and each side needs different permissions on the same order. I want those rules to live in server and database code, with tests that check what each person can actually do.

06Project details

  • Arabic and English service content, search, category filters, and right-to-left layouts
  • Conversations with order cards and separate delivery and buyer-confirmation steps
  • Server-side payment verification, checks against duplicate processing, and manual payout records
  • Listing moderation, database access rules, and administrator audit records

Next project

More projects