Pharmacy Locator — Implementation Proposal
Pharmacy Locator Asiabari

Implementation proposal — Asiabari / Naronik

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

  1. Phase 1 (this MVP): product discovery & pharmacy availability
  2. Phase 2 (separate discovery): pharmacy portal, notifications, data quality
  3. 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