2026Full-stack
DzArtisan
A marketplace connecting households with tradespeople in Algeria, built with one project partner. One API serves the public site, the client and tradesperson dashboards, and the admin back office.

- Context
- Final-year project, built with one teammate. Finding a qualified tradesperson in Algeria still runs on word of mouth: no reliable directory, no record of past jobs, no recourse when something goes wrong.
- Problem
- A marketplace is not a directory. Three roles with different permissions have to coexist, disputes need arbitration, subscriptions need billing, and everyone has to stay in sync in real time, over uneven connections and devices.
- Approach
- My project partner built the Laravel API, with Sanctum tokens and two-factor on admin. I built everything on the other side of it: the public site, the client and tradesperson dashboards and the admin back office, all in Next.js against that API. Geographic search by wilaya and commune, an availability calendar, priced proposals, complaint handling, and real-time messaging consumed over WebSockets.
- Outcome
- 180 files and around 28,000 lines of front-end code: 44 routes and 100 components covering the path from a first service request through to subscription payment and dispute. The interface ships in French and Arabic with full right-to-left layout.
- My role
- The whole front end, from design to delivery. My project partner wrote the Laravel API.
- Stack
- Next.js 16
- React
- Tailwind CSS
- Laravel 12
- MySQL
Private code. Repository available on request.
Live