PharmaSync is a web application designed to streamline inventory and order management for pharmacies and wholesalers across Egypt. The platform provides a centralized hub where pharmacies can check real-time stock availability, place orders from multiple suppliers, and ensure timely delivery.
- Reduce Medicine Waste: Prevent financial loss due to expired medications by redistributing stock to areas with higher demand.
- Centralized Inventory: Aggregate stock data from multiple pharmacies and wholesalers.
- Smart Order Routing: Automatically suggest alternative suppliers if an item is out of stock.
- AI-Powered Chatbot: Assist users with queries and automate order tracking.
- Machine Learning Integration: Optimize stock predictions and demand forecasting.
- Intelligent Notifications: Alert users about expiring medicines, stock shortages, and demand surges.
- Supplier & Pharmacy Rating System: Enable pharmacies to rate suppliers based on delivery speed and product quality.
- Flexible Payment Methods: Support for online payments, digital wallets, and invoicing.
- Secure and Scalable Architecture: Built using Django (or Spring Boot) with MySQL.
- Agile Development: Collaboration using Git Workflow and Gherkin for behavior-driven development (BDD).
- Backend: Django / Spring Boot (TBD)
- Frontend: React.js / Next.js (TBD)
- Database: MySQL
- AI & ML: TensorFlow / Scikit-learn for demand forecasting
- Authentication: JWT / OAuth2
- Deployment: Docker + Kubernetes (Future Scope)
- CI/CD: GitHub Actions
git clone https://github.com/your-username/pharma-sync.git
cd pharma-syncpython -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txtpython manage.py migratepython manage.py runserverpharma-sync/
β-- backend/ # Django/Spring Boot Backend
β-- frontend/ # React/Next.js Frontend
β-- database/ # MySQL Schema & Migrations
β-- docs/ # API Documentation
β-- tests/ # Unit & Integration Tests
β-- .github/ # CI/CD Workflows
β-- README.md # Project Overview
We follow Agile Development using feature branches:
- Fork the repository
- Create a new branch
feature/your-feature - Commit changes with meaningful messages
- Open a Pull Request (PR) and request review
Example scenario for placing an order:
Feature: Order Placement
Scenario: Successful order by a pharmacy
Given a pharmacy has an active account
And the requested medicine is in stock
When the pharmacy places an order
Then the system confirms the order
And the order is assigned to a supplier for deliveryWe welcome contributors to help improve PharmaSync! Feel free to open issues, suggest features, or report bugs.
π Join the Discussion