All projects
Overview
Satr (Arabic for line) targets a gap in the Moroccan market: the online bookstores I reviewed offer French or English interfaces only, with no right-to-left support. The storefront defaults to Arabic and also ships French and English.
Customers browse books and curated bundles, fill a sliding cart and check out with cash on delivery. Store staff run orders, stock, delivery, promotions and analytics from a dedicated admin area, all backed by a self-hosted Appwrite instance.
What I built
- Built an Arabic-first bookstore on Nuxt and Appwrite with RTL, ar/fr/en i18n and cash-on-delivery checkout.
- Implemented catalog search, book pages, bundle packs, cart state in Pinia and schema.org SEO markup.
- Developed an admin back-office for products, bundles, orders, inventory, delivery, promotions and analytics.
- Scripted Appwrite schema setup, book and bundle seeding and cover uploads for reproducible environments.
Design and architecture
- Nuxt 4 with prefix-based i18n routing, Arabic as the default locale and direction switching per language.
- Appwrite collections for books, bundles, orders and settings, created and seeded by repeatable scripts.
- Server state through TanStack Query composables and client state (auth, cart) in Pinia stores.