Apotheca Rx POS — Pharmacy & Medical Retail POS Software Website (Frontend + Backend)
An 8-page website for a pharmacy POS company with a real demo-request backend. Showcases barcode and generic search, batch and expiry tracking with FEFO, purchasing, customer accounts, returns, tax invoices, alerts, reports and WhatsApp receipts. Includes a working product catalogue that prints batch-numbered tax invoices on 80mm thermal printers. Add your own products, prices and photos from the Manage live data panel.



Preview
What you can customize
Each section below becomes a guided form field in your library after purchase — no prompting experience required.
- 1
Home
Grid-line hero with pharmacy counter console (search, batch table, alerts), KPIs, feature matrix, interactive product catalogue (12 products with batch/expiry, live 80mm tax invoice), batch register, 4-step workflow, WhatsApp.
2 editable fields
- 2
Features
All ten capabilities in a bordered matrix with check-lists, plus a demo tile and a roles & audit tile.
2 editable fields
- 3
Batch & Expiry
Colour-coded batch register, FEFO checkout panel and a 90/60/30-day alert timeline.
2 editable fields
- 4
Inventory & Purchasing
Below-reorder-level table, supplier purchase order PO-2417 and customer / supplier returns cells.
2 editable fields
- 5
Billing & Reports
Tax invoice panel, printable 80mm tax invoice, customer account photo card, weekly sales report and WhatsApp phone mockup with privacy note.
2 editable fields
- 6
Pricing
Three plans (Counter $49, Pharmacy $89, Group $129) and a 10-row comparison table.
2 editable fields
- 7
FAQ
10 questions in four groups with a section index: setup & data, batches & stock, billing & tax, WhatsApp & privacy.
2 editable fields
- 8
Book a Demo
The real demo request form (name, email, phone, pharmacy name, pharmacy type, branches, message), demo agenda and contacts.
2 editable fields
Backend structure
Exactly what ships behind the pages above — every file below is real, working code included in your download, not a mockup.
package.jsonProject configapi/pharmacy_demo_requests.tsAPI endpointapi/pharmacy_products.tsAPI endpointschema.sqlDatabase schema
This is a Dynamic Website — a real backend (database + API) is included, not just static pages. It connects to your own database (Vercel Postgres, Supabase, Neon, or similar); this platform never sees or stores the data it collects. Set these on your own Vercel project before deploying:
DATABASE_URL— requiredPHARMACY_DEMO_REQUESTS_ADMIN_KEY— requiredRESEND_API_KEY— optionalPHARMACY_DEMO_REQUEST_FROM_EMAIL— optional
Once deployed, your purchase's library page shows a “Manage live data” panel that lists, and lets you act on, submissions from /api/pharmacy_demo_requests — directly from your deployed site, no separate database tool needed.
It also manages Products — add, edit and delete them through /api/pharmacy_products, including photos uploaded from your computer.
Through the editor you can add new optional fields to what's already here (for example, a note field on a booking). Building entirely new features or custom logic isn't something the editor automates — every purchase includes the full source code (frontend and backend, no lock-in), so you or a developer you hire can extend it freely outside the platform.
Launching it is simple: download the files, publish it live to your own Vercel account, or push it to your own GitHub — see how to launch your AI Tapz website.
Usage instructions
8 pages and a real lead-capture backend — this is a DYNAMIC website for a pharmacy / small medical retail POS software company: every product page (features, batch & expiry, inventory & purchasing, billing & reports, pricing, FAQ) is static editorial content with HTML/CSS product mockups, while the "Book a Demo" form writes to your own database in real time. Design: clinical precision — white, navy and teal, IBM Plex Sans, blueprint grid-line backgrounds, monospaced batch codes and colour-coded expiry chips, with a counter console, batch register, PO, tax invoice and WhatsApp mockups built in HTML — no screenshots to replace. 1. Home (index.html) — hero with counter console (product search, batches, alerts), KPIs, feature matrix, an interactive product catalogue (12 products with Rx / low-stock flags and batch + expiry, category chips, search, live tax invoice), batch register, receive-to-invoice workflow, WhatsApp. 2. Features (features.html) — all 10 capabilities: barcode/product search, batch & expiry tracking, inventory, supplier/purchase management, customer accounts, returns, tax/invoice management, low-stock & expiry alerts, sales reports, WhatsApp invoices/receipts; plus roles & audit log. 3. Batch & Expiry (batch-expiry.html) — batch register, FEFO checkout, 90/60/30-day alert timeline. 4. Inventory & Purchasing (purchasing.html) — reorder list, purchase order with batch-wise receiving, returns in and out. 5. Billing & Reports (billing.html) — tax invoice, a print-ready 80mm tax invoice, customer accounts, sales report, WhatsApp invoices with a privacy note. 6. Pricing (pricing.html) — 3 plans and comparison table. 7. FAQ (faq.html) — 10 questions in 4 groups. 8. Book a Demo (demo.html) — the real demo request form. WHOSE DATABASE, WHOSE EMAIL PROVIDER. Yours, not this platform's. Before anything here does something real: 1. Create a Postgres database anywhere you like — Vercel Postgres, Supabase, Neon, or your own server — and run schema.sql against it once. 2. In your Vercel project's Settings -> Environment Variables, set: DATABASE_URL your database connection string PHARMACY_DEMO_REQUESTS_ADMIN_KEY any secret string you choose Optional, for automatic email confirmations on new requests: RESEND_API_KEY from your own Resend (resend.com) account PHARMACY_DEMO_REQUEST_FROM_EMAIL an address on a domain verified in that account Without the two optional variables set, requests still save correctly — no confirmation email sends, that's all. MANAGING DEMO REQUESTS. Once published, this purchase's library page shows a "Manage live data" panel — paste in your PHARMACY_DEMO_REQUESTS_ADMIN_KEY to see every demo request as it comes in, mark it contacted, and delete ones you've handled. MANAGING YOUR PRODUCTS. The same "Manage live data" panel has a second table for the Home page catalogue (pharmacy_products, served by api/pharmacy_products.ts). With the same admin key entered, add, edit and delete your products: name, category, price, a short description line, an optional badge, and a photo uploaded straight from your computer (resized in your browser and stored in your own database, so there's no separate file storage to set up). While the table is empty the catalogue shows its built-in samples; as soon as you add your first item, your list replaces them. Your categories become the filter chips, and prices use the currency symbol already written on the page. Changes appear on the live site on the next page load, with no republish needed. SPAM PROTECTION. The demo form includes a hidden honeypot field real visitors never see or fill — checked both client-side and in api/pharmacy_demo_requests.ts; filled submissions are accepted but silently discarded. WHAT YOU CAN CUSTOMIZE, HONESTLY: - Every page's copy, prices, mockup contents, images and layout — through the same AI-guided editor as any other template, no coding. - One optional field at a time on the "pharmacy_demo_requests" resource (for example, "current software" or "monthly invoices"), through the "Backend customization" panel once purchased. Keep it to business details — this form isn't built to collect patient data. - The POS screens on this site are marketing mockups, not a working pharmacy system. Building real dispensing, payments, WhatsApp sending or a customer portal isn't something the editor automates — every purchase includes the full source code so you or a developer can extend it. INTERACTIVE CATALOGUE & 80MM PRINTING. The Home page product catalogue really works in the browser: tap products to build a sale, filter by category, search by name, generic or batch, remove lines, and press "Print receipt · 80mm". The Billing & Reports page has a print-ready sample tax invoice with its own Print button. Both open the browser print dialog with a page exactly 80 mm wide (72 mm printable, black monospace, height sized to the invoice) — select your thermal receipt printer and its 80mm roll paper size, margins none. Each line carries the product's batch and expiry text onto the invoice. Product names, prices, batches and categories are ordinary text you can edit; the cart reads them straight from the page, and VAT comes from the "5%" on the invoice. Sales rung up here are a demo, not a connected dispensing system: the cart itself stores and sends nothing. PREVIEW LIMITATION. The demo form calls a real endpoint that only exists once deployed — this platform's preview has no backend, so it shows a friendly "try it once deployed" message here. That's expected. The catalogue shows its built-in samples here for the same reason. COMPLIANCE NOTE — REGULATED INDUSTRY. This isn't legal or compliance advice. The site deliberately makes no certification claims (HIPAA, GDPR, pharmacy-board approval, e-prescribing); if your product holds any, add them only with evidence, and have the full site reviewed against the rules in every market you sell to. Statistics, prices, pharmacy counts, product names and batch numbers are realistic placeholders — replace them with your own verified figures. The product name, pharmacies and people named are fictional. IMAGES. All photography is real, licensed-for-web Unsplash stock, self-hosted under /content-images. No photo shows an identifiable face; all may be kept as-is or replaced at your discretion.
Reviews
No reviews yet — be the first once you've used this template.