What this package is
API is the foundation everything else sits on. I design the database around what you actually hold, write what your front end calls, and add sign-in with control over who reaches which part of the data.
The package covers up to eight kinds of record and fifteen things your front end can ask for, all named in the specification on the day we agree the work, with anything beyond that quoted before it happens. What you receive is not only code that runs: documentation your team opens in a browser and tries out for themselves, and automated checks that re-run every time somebody changes the code. Those two are what let another team carry the work on without phoning me.
Not included here: an admin console for non-developers, and payment work. Both are in the packages above.
See it working
| #1043 | Malee Jaidee | ฿1,290 | Unpaid |
| #1042 | Piya Thongdee | ฿590 | Paid |
| #1041 | Napa Sangchan | ฿2,450 | Unpaid |
| #1040 | Thana Wongdee | ฿890 | Paid |
This page is read only
| Ref | Customer | Amount | Status |
|---|---|---|---|
| #1043 | Malee Jaidee | ฿1,290 | |
| #1042 | Piya Thongdee | ฿590 | Paid |
| #1041 | Napa Sangchan | ฿2,450 | |
| #1040 | Thana Wongdee | ฿890 | Paid |
These four numbers are what an owner opens every morning. They are worked out from the real records each time the page loads, not typed in and updated by hand.
In this package the figures page is read only. An editing back office and historical charts are in the Admin package.
This mirrors the screen of the delivered system. Everything here lives in this page and is connected to nothing. The real thing calculates from your own database, and your front end can read the very same records.
Everything you get
This list is the entire scope of the package. Nothing is hidden in a contract.
- Database design and an API your front end calls
- Up to 8 kinds of record and 15 things your front end can ask for, named in the specification on day one
- A figures page with the four numbers that matter, open it any day. Read only, no editing yet.
- Sign-in, and control over who can reach which part of the data
- Documentation your team reads and tries out for themselves, in a browser
- Automated checks that re-run on every change, so you know at once what broke
- Deployed and running, with a repeatable update process your own team can perform
- Written in English throughout: code comments, docs and handover
- Front-end design and build. This service covers only what sits behind it. If you need both sides, look at the business website or the booking system, which ship with a front end.
- Monthly server and third-party costs, paid from your own accounts so the system genuinely belongs to you. I estimate the figures before we start.
- Migrating data out of an old system with a complicated structure. Ordinary spreadsheets I move for free; pulling through a legacy API is quoted separately and told to you first.
- Mobile apps. That is the Android service, which can call the API built here.
- A registered company on my side. I am one developer working under my own name in Thailand, and the contract is with me personally.
Questions about this package
What does the API documentation actually look like?
A web page listing every endpoint, what each one accepts and returns, with a button to fire a real call and see the result. Your front-end team works from it directly instead of booking a call with me each time.
Why do tests matter if it already works?
They do not matter on delivery day. They matter six months later when somebody changes the code. With tests they know immediately what broke. Without them they are afraid to touch it, and the system slowly becomes untouchable, which is the exact condition several clients arrive at my door with.
Why not just use Firebase or Supabase?
I use Supabase in plenty of projects and will recommend it if it fits. If your need is storing records and signing people in, off-the-shelf is better value and I will say so. Building it is worth the cost when there is business logic a template cannot express, or when the data is not allowed to sit on somebody else's service.
Our system is PHP. Do we have to change language?
No. If it is PHP and Laravel, I continue in that. Forcing a client onto whatever suits me means paying to rewrite a working system for nothing in return. Sample code in TypeScript, Laravel and Python is public and readable before you commit.
Who owns the code and the data?
You do. Code goes into your GitHub account from day one of the work, the database and servers live in your accounts, and I hold nothing hostage. Change developer whenever you like without asking me.