Al-Daftar
Multi-Branch Ledger for Small Businesses
Arabic-first ledger web app for small businesses: branches, employees with per-branch permissions, money in and out, transfers between branches and a full audit trail, running on Cloudflare Workers.
al-daftar.mohamedselim.workers.dev
- Status
- Completed
- Role
- Full-Stack Developer (design, development & deployment)
- Year
- 2026
- Project type
- Web Apps
Overview
Overview
Al-Daftar ("the ledger") replaces the paper notebook a small business keeps for its cash. The owner creates the company and its branches, adds employees, and everyone records money in and money out from a phone or a computer. The interface is Arabic and right-to-left from the first screen.
The Challenge
Money records must stay trustworthy when several people in several branches write to them. An employee should only see and edit the branches they were given, amounts must never drift because of rounding, and a wrong entry must be corrected without erasing what happened.
The Solution
A React app built with vinext and deployed to Cloudflare Workers, with Cloudflare D1 and Drizzle ORM for data. All accounting rules and permission checks run on the server in one API. Amounts are stored as whole minor units, so no rounding errors. Entries are never edited or deleted: a mistake is fixed with a reversal entry linked to the original. A transfer writes both sides together. Every action lands in an activity log. Sign-in uses a phone number or email with a PBKDF2 password hash and an HttpOnly session cookie, and automated tests cover company isolation, permissions and money flow.
Key Features
- Company with multiple branches, each with its own balance
- Money in and money out with category, date and description
- Transfers between branches
- Reversal entries instead of editing or deleting
- Employees with read or write permission per branch
- Activity log of every action
- Search and filters by branch and date
- Totals for current balance, money in and money out
- Amounts stored as whole minor units
- Sign-in with phone number or email
- Arabic right-to-left interface, responsive on mobile
Project Screenshots
A closer look at the product and its key screens.
Tech Stack
Technologies used to build this project.
- React
- vinext
- TypeScript
- Tailwind CSS
- Drizzle ORM
- Cloudflare Workers
- Cloudflare D1
Project Details
Key information about this project.
- Status
- Completed
- Role
- Full-Stack Developer (design, development & deployment)
- Year
- 2026
- Project type
- Web Apps
My Responsibilities
Key areas I was responsible for.
- UI design and responsive RTL implementation
- Frontend and backend development
- Database schema and migrations with Drizzle
- Accounting rules and permission checks on the server
- Authentication and session handling
- Automated tests for isolation, permissions and money flow
- Deployment to Cloudflare Workers
Next project