How therealmoeid/agricultural-pharmacy works
This is an early-stage Persian agricultural-pharmacy catalog and consultation site, not an online shop. Customers browse and search products, then contact the store by phone; they can also submit a question or farm-visit request. The consultation flow saves the request before attempting a Telegram notice, leaving the admin inbox as the source of truth. The README also describes expert/FAQ content and seasonal articles, though their public presentation is incomplete or unsampled. Edges reflect README statements or references in the supplied source index; unsampled routing details are omitted.
Main entry points: views.py Request handling · notifications.py Telegram notices · models.py Request inbox · search.py Product search
Components 19
Product catalog
- Product pages
apps/catalog/views.py - Product search
apps/catalog/search.py - Catalog data
apps/catalog/models.py
Consultations
- Request handling
apps/consultations/views.py - Request forms
apps/consultations/forms.py - Request inbox
apps/consultations/models.py - Telegram notices
apps/consultations/notifications.py - Submission limits
apps/consultations/ratelimit.py
Site content
- Experts and FAQ
apps/pages/models.py - Static pages
apps/pages/views.py - Seasonal articles
apps/articles/models.py
Shared services
- Persian text
apps/core/text.py - Phone formatting
apps/core/phone.py - Jalali dates
apps/core/jalali.py - Image processing
apps/core/fields.py - Image transforms
apps/core/images.py
Other components
- Customer
- Store staff
- Telegram Bot API
Connections 20
- Customer → Product pages: browses products
README.md - Product pages → Product search: searches with
apps/catalog/views.py - Product search → Catalog data: queries products
apps/catalog/search.py - Customer → Request handling: submits request
README.md - Request handling → Submission limits: checks limits
apps/consultations/views.py - Request handling → Request forms: validates with
apps/consultations/views.py - Request forms → Request inbox: validates request
apps/consultations/forms.py - Request handling → Request inbox: saves request
README.md - Request handling → Telegram notices: notifies after save
apps/consultations/views.py - Telegram notices → Telegram Bot API: sends message
apps/consultations/notifications.py - Store staff → Request inbox: reviews inbox
README.md - Catalog data → Persian text: normalizes text
apps/catalog/models.py - Product search → Persian text: normalizes query
apps/catalog/search.py - Request inbox → Phone formatting: normalizes numbers
apps/consultations/models.py - Request forms → Catalog data: uses crop choices
apps/consultations/forms.py - Telegram notices → Phone formatting: formats phone
apps/consultations/notifications.py - Telegram notices → Jalali dates: formats dates
apps/consultations/notifications.py - Experts and FAQ → Image processing: defines photo fields
apps/pages/models.py - Seasonal articles → Image processing: defines image field
apps/articles/models.py - Image processing → Image transforms: transforms uploads
apps/core/fields.py