Case study
N-Developing Store
Our own shop: services with prices, ordering without a back-and-forth, and a client area where the state of a job is visible at any time.
- Type
- Own project
- Areas
- Web · Backend · Hosting
- Scope
- Catalogue, ordering, invoicing, client area, admin
- Status
- Live, extended continuously
-
01
Where it startedEnquiries came by email, quotes went back by email, and the state of a job lived somewhere in a thread. Unsatisfying on both sides: clients had to ask how far along something was, and every question cost time nobody bills for.
-
02
The briefOne place where services have a price and a description, where ordering works without a back-and-forth, and where the state of a job is visible without anyone having to ask.
- Prices stated instead of on request
- Order directly, with no quoting loop
- Job status visible at any time
- Invoices generated instead of written by hand
-
03
How it was builtCatalogue and ordering first, then client accounts and order tracking, then invoicing and the admin area. Plus a small secured interface through which our other systems can pull the business figures — the numbers on our own dashboard come from there.
Architecture
How it's built.
Five parts, classically separated — and one interface that hands the figures to other systems.
-
01
HTML, CSS, JavaScript
Front end
Catalogue, basket and checkout. No forced account until the last step — an account you must create before you know the price turns away more people than it keeps.
-
02
PHP
Logic
Accepting orders, maintaining status, generating invoices, watching deadlines and flagging anything overdue.
-
03
SQL database
Data
Products, orders, customers, invoices, discount codes.
-
04
Custom user management
Client area
Sign-in, your own jobs with their status, invoices to download, password reset.
-
05
Secured interface
Figures interface
Hands order, customer and revenue figures to our other systems — with its own key, read-only, and only the figures, never customer data.
Decisions
Why it's built this way.
Three decisions that proved themselves.
-
01
Prices are stated
Most of the market writes "price on request". That filters nobody, it only delays. Someone who sees the range either gets in touch on the right footing or not at all — both beat three emails ending in a budget that was never going to work.
-
02
Job status is visible
Every "how far along is it?" costs both sides time, and it only exists because of missing visibility. Since the status sits in the client area, the question has gone — and with it the feeling of having to chase.
-
03
Figures leave only through a dedicated interface
Our other systems need the business figures, not the customer data. So the interface hands out exactly that: figures, read-only, with its own key. Direct database access would have been quicker to build and would have exposed everything.
What came out of it
The shop runs, and at the same time it's our own reference for what we build.
- Ordering without a quoting loop
- Job status visible without asking
- Invoices generated automatically
- The business figures feed our own dashboard
- Overdue jobs flag themselves
What we take from it
Our own shop is where we try things first. Whatever holds up there for a month goes into client projects — and whatever annoys us there, we're the first to notice. That's the best quality test you can have.
Contact
Selling, or handling jobs?
Shop, booking or client area — describe what runs by hand today.