Platform manual · September 2026 edition

An online store and its back office, built for Algeria.

This manual covers what the platform does, for your customers and for your team, and what it takes to go live. The demo store is skeletix.site, which sells exoskeletons.

Overview

The platform is two applications sharing one database: the store your customers see, and the back office where your team manages products, orders and content.

www.your-store.dz

The storefront

Home, catalogue, product pages, cart, checkout, customer account, blog and legal pages. Available in French, English and Arabic.

www.your-store.dz/admin

The back office

Dashboard, catalogue, stock, orders, delivery, content, customers, finances and settings. Open to staff accounts.

No technical skill is needed day to day. Copy, pages, products, delivery rates and settings are all edited from the back office, with no redeployment.

The storefront

What your customers see and use. Everything works on a phone: filters and menus become slide-out panels on small screens.

Home/
Built from blocks (video banner, story, key figures, benefits, products, FAQ, contact…) that you reorder and edit from the back office.
Catalogue/products
Search, a category tree, filters by colour, size and price, and a featured selection. Out-of-stock products cannot be added to the cart.
Product page/products/…
Gallery, variants, technical specifications, customer reviews, and a quick view from the list.
Cart and checkout/cart · /checkout
Wilaya and commune, home delivery or stop desk, a shipping estimate, promo codes, and payment on delivery or by card. A signed-in customer's details are filled in already.
Customer account/account
Order tracking and one-click reordering, wishlist, address book, profile with photo, a default delivery address, and notifications on their device.
Blog/blog
Articles by category, search, and an automatic table of contents in each article.
Free-form pages/a-propos, /cgv…
Any page created in the back office is live at its address as soon as it is published: about, terms of sale, legal notice, privacy policy.

The life of an order

Every order gets a number like ORD-20260919-0001 (today's date, then a counter). Staff change its status from the order page in the back office, and every change is timestamped in its history.

  1. pendingPlaced

    The customer places an order

    • The quantities ordered are reserved in stock; if the last unit is reserved, the product goes out of stock.
    • The customer gets a confirmation email; staff get a "new order" notification.
    • The order is scored by the fraud-protection module.
  2. confirmedConfirmed

    Your team confirms it

    • Usually after calling the customer, for cash on delivery.
    • The customer is told immediately: email, a notification in their account, and a push notification.
  3. shippedShipped

    The parcel leaves

    • Assigned to one of your drivers or to a delivery company, with a tracking number and a label.
    • The customer is told the same way.
  4. deliveredDelivered

    The customer receives it

    • Physical stock is drawn down and the reservation released.
    • A cash-on-delivery order is marked paid automatically.

    At any point before delivery an order can be cancelled or refunded: the reservation is released and the product becomes available again.

The back office

Five groups, in the same order as the side menu. The dashboard sums up the day: orders to handle, revenue, low stock, and the health of the store.

Catalogue

Products
A step-by-step form: copy, gallery, price and compare-at price, variants, specifications, opening stock, and search-engine settings.
Categories
A tree with as many levels as you need, used by the catalogue filters.
Stock
Physical quantity, reserved quantity, low-stock threshold, and a movement history. Restocking puts a product back on sale.
Orders
A filterable list, a detail page, status changes, internal notes, printing, and a timestamped history.
Promo codes
A percentage (with a cap), a fixed amount, or free shipping; a minimum order value, validity dates, and limits per code and per customer.

Delivery

Drivers
Your own drivers, their zones and availability. Each one follows their runs from a personal link on their phone.
Deliveries
Parcel tracking, a map, failed attempts, and synchronisation with the carrier.

Content

Pages
A block-based page editor with drafts and publishing, live preview, menus and footer.
Blog · FAQ
Articles and frequently asked questions, shown on the storefront.
Media
An image and video library shared across the back office.

People

Customers
Customer records, past orders, addresses.
Abandoned carts
Carts never completed, with an automatic reminder email once a day.
Users
Staff accounts and their roles.
Reviews · Analytics
Review moderation; sales, products and channels that perform.

Business

Finances
Income, expenses and margin over the period you choose.
Protection
Suspicious orders to review, customer profiles, a blocklist, and rules.
Audit log
Who changed what, and when: statuses, stock, users, settings.
Languages
Active languages and the wording of the interface.
Settings
Identity, social links, announcement bar, legal information, taxes, order rules, returns, payment methods, delivery rates by zone, automatic emails, SEO, ad tracking, and maintenance mode.

Notifications

Notifications go out the moment the action happens, not on a schedule. When someone confirms an order, the customer hears about it in the same second.

EventWho hearsHowWhen
New orderStaffBack-office bell, pushImmediately
Order confirmed, shipped, delivered, cancelledCustomerEmail, account bell, pushImmediately
Stock below its thresholdStaffBell, pushImmediately
Abandoned-cart reminderCustomerEmailOnce a day, 9am
Carrier parcel tracking—Status refreshOnce a day, 6am
To receive push notifications, a person has to turn them on once on their device (the "Enable" button in the notifications bell). Without that they still get the email and the notification in their account. A device that is offline receives the notification when it reconnects, up to 24 hours later. Customers who order without an account are reached by email only.

The two daily jobs (reminders and carrier tracking) run once a day, the limit of Vercel's free hosting plan. A paid plan allows them to run hourly.

Delivery and carriers

Addresses are entered by wilaya and commune, as Algerian carriers require. Shipping is priced from your own zone table, or by the carrier when one is connected.

MethodStatusWhat it gives you
Your own driversAvailableAssignment, zones, and tracking from the driver's phone.
YalidineConnectedParcel creation, label, and automatic status tracking.
About 90 other companies (Ecotrack, Maystro, Noest, Procolis…)PlannedAlready listed; until they are connected, tracking is entered by hand.

69 wilayas, 58 carrier codes. Since the 2026 redistricting Algeria has 69 wilayas, but carriers still accept only 58. The platform stores the customer's real wilaya and sends the carrier the code it knows.

Payment and protection

cod

Cash on delivery

The most common method here. The order is marked paid automatically once it is delivered.

chargily

CIB or Edahabia card

Online payment through Chargily Pay. Each method can be switched on or off in the settings.

The Protection module limits fake orders, which are common with cash on delivery: each order gets a risk score built from the customer's history, their phone number and your rules. Doubtful orders wait for your decision, abusive numbers can be blocked, and the store can require a phone-verification code before a cash-on-delivery order is accepted.

No SMS provider is connected yet. The code is generated, but your team reads it to the customer over the phone. Connecting an SMS service is all it takes for it to be sent automatically.

Roles and access

Every account has a role. A role can only manage the roles below it, and nobody can change their own.

RoleForAccess
platform_adminThe ownerEverything, including managing administrators.
adminStore managerThe whole back office; manages staff.
staffTeam (packing, customer service)The back office, day to day.
customerCustomersThe storefront and their own account.

Staff accounts see an "Administration" link in their account menu on the storefront, to move between the two sides.

Pages and content

Every page is a sequence of blocks: banner, text and images, key figures, benefits, team, reviews, scroll-driven video, products, articles, FAQ, contact form, legal text, call to action. You choose the blocks, their order and their content; changes stay as drafts until you publish them.

The look — colours, typography, animation — is a theme that ships with the platform. A new client can be given a bespoke visual identity without their content or back office changing at all.

The legal texts supplied are drafts. Terms of sale, terms of use, legal notice and privacy policy are written against Algerian law (18-05, 09-03 and 18-07), but no lawyer has reviewed them. Anything specific to your company (trade register, tax number, address…) is marked "À COMPLÉTER". Have them reviewed before you open.

Under the hood

What the store runs on. Useful if your developer wants to know what they are inheriting, or if you are comparing it with a platform rented by the month.

Technology

ApplicationNext.js 16 · React 19
Pages are rendered on the server, so visitors receive ready-made HTML — which search engines read without running any JavaScript.
DatabaseMongoDB
Products, orders, customers, content and settings in one database, hosted on MongoDB Atlas with automatic backups.
HostingVercel
A worldwide delivery network, HTTPS certificate included, deployed by pushing the code. No server to administer.
Images and files
Resized and converted to modern formats (AVIF, WebP) to match the visitor's screen. Storage of your choice: Vercel Blob, Supabase, FTP or local disk.

Security

Access
Four ranked roles; nobody can raise their own. Every sensitive action is timestamped in the audit log, including refused attempts.
Passwords
Hashed (bcrypt), never stored in readable form. Eight characters minimum with an uppercase letter, a digit and a symbol, enforced by the form and by the server alike.
Payments
Only Chargily's signed notification can mark an order paid; the browser coming back from the gateway decides nothing. Amount and order are checked, a replayed notification is handled only once, and a double payment is flagged for refund.
Orders
A double-click never creates two orders. An order's tracking page opens only for its owner or through a signed link, never by guessing a number.
Abuse
Attempt limits on sign-in, code sending and password resets; risk scoring and a blocklist on cash-on-delivery orders.

Quality and performance

Automated tests
345 unit tests and an end-to-end suite (Playwright) covering sign-in, ordering, payment and the back office. They run before every release.
Search engines
A title and description for each page, an automatically generated sitemap and robots.txt, and readable addresses. A built-in audit tool points out incomplete pages.
Multilingual
French, English and Arabic, with right-to-left layout. Interface wording is corrected from the back office, without touching the code.
Mobile
Installable as an app (PWA), push notifications included, and an interface designed for the phone first.
Measurement
Sales tracked both in the browser and from the server, so conversions still register when an ad blocker is on.
The store is yours. The code, the database and the domain name belong to you: no monthly platform fee, no commission on your sales, and your customer data stays with you. The look lives in a single replaceable folder, so two stores can share one engine with two visual identities.

What is still unfinished, plainly. Card payment has never been tested with real money; carriers other than Yalidine are tracked by hand; sending codes by SMS needs a provider; and the legal texts need a lawyer's review.

Going live

What it takes to move from the demo to your own store. The platform refuses to start when something essential is missing, rather than running half-configured.

  1. A domain name pointed at Vercel hosting.
  2. A MongoDB Atlas database, with backups.
  3. Email sending through Resend, from a verified address on your domain.
  4. Image storage (Vercel Blob or Supabase).
  5. Online payment: Chargily keys in live mode, if you accept cards.
  6. A carrier: Yalidine credentials, and the wilaya your warehouse ships from.
  7. Push notifications: notification keys, generated once.
  8. Content: your catalogue, your pages, your reviewed legal texts, your delivery rates.
  9. The first owner account, created during installation.