Product Pharmacy Locator: Phase-1 MVP proposal
This page states the problem, MVP scope, architecture, direct answers to your questions, phase-1 price, roadmap, and handover terms.
Phase-1 fixed price: 5,000,000 Toman
Suggested delivery window: 10–14 working days (subject to map credentials and sample data).
Problem understood
Mobile visitors must find which pharmacies stock a product, filter by province/city/district, see results on a map, and call or open directions. Operators must update availability quickly and import Excel — without online sales in phase one.
MVP in-scope / out-of-scope
- Product search, geo filters, list + map, pharmacy detail, call & directions
- Custom admin dashboard (not stock Django admin for daily ops), CRUD, Excel preview/commit
- Bilingual FA (default, RTL) and EN
- Out of scope for phase 1: ecommerce, payments, pharmacy self-service accounts, live ERP/stock feeds
Answers to your questions
- Technology?
- Django modular monolith, PostgreSQL (PostGIS-ready), mobile-first server-rendered UI, resilient map adapter, Docker/Gunicorn, self-hosted static assets/fonts (no external CDN / Google Fonts).
- Custom dashboard?
- Yes — secure login, stats, CRUD, availability editor, Excel wizard.
- Real Excel import/update?
- Yes — template, upload, normalize, validate, row preview, confirm, atomic commit, error report. Match on SKU/pharmacy code first; never silently on ambiguous names.
- Map.ir + Memaps + outages?
- Provider-neutral adapter with Map.ir → Memaps → same-origin display fallback. Turn-by-turn routing is best-effort; address, phone, coordinates, and navigation handoff remain usable.
- Private map experience (Irancell / Ravan Ertebat)?
- Related private map delivery experience exists for Irancell and Ravan Ertebat; public shareable demos are not available due to customer confidentiality. This MVP applies the same resilience pattern (multi-path + self-hosted fallback).
- Full source/data handover?
- Yes — private Ops Gitea repo, complete source, migrations, data export, deploy docs, host/DB access inventory, map provider notes.
- Ongoing support?
- Later phases need discovery and separate estimates. Continuous work uses an agreed monthly task-and-hour allowance.
Architecture & data model
Visitor → public FA/EN UI → search/filters → PostgreSQL ← admin & Excel. Maps via adapter to Map.ir / Memaps / same-origin fallback.
- Province / City / District
- Product, Pharmacy, PharmacyProductAvailability
- ImportJob + AuditEvent
Price & timing
5,000,000 Toman — fixed for phase 1
Suggested 10–14 working days, subject to map keys and sample data. Later phases and monthly support are separate agreements.
Roadmap
- Phase 1 (this MVP): product discovery & pharmacy availability
- Phase 2 (separate discovery): pharmacy portal, notifications, data quality
- Phase 3+: ERP/stock, reservation, or sales channels if needed
Acceptance & handover
- Demo product search, city/district filters, optional near-me, detail, map, directions
- Admin login, availability change, Excel preview/import
- TLS on
pharmacylocator.asiabari.ir,/healthz, DB backups - Private repository + documentation + access inventory