A comprehensive project aimed at facilitating the lives of patients and pharmacists through a smart platform to recognize drugs from images, search for them, and provide up-to-date health content. The platform offers a seamless user experience via a mobile app and a professional website.
The system is built using Flutter for the mobile app and Laravel for the website.
- Educational Background
- General Overview
- Tech Stack
- Getting Started
- Project Structure
- Main Objectives
- System Components
- Technologies Used
- Designs and Diagrams
- Main User Interfaces
- Pharmacy Registration Process
- Team Members
- Contact & Support
Graduation Project – Ibb University, Yemen, Department of Computer Science and Information Technology, Faculty of Science.
Patients face significant challenges in identifying drugs, obtaining accurate information, and finding them in suitable pharmacies. The "Dawaa" platform addresses these issues through an intelligent system that integrates artificial intelligence techniques (especially image processing and OCR) to facilitate drug recognition, search, and provide up-to-date pharmaceutical and health information, in addition to supporting pharmacists and medical students.
| Category | Technology/Tool |
|---|---|
| Mobile Language | Dart |
| Mobile Framework | Flutter |
| Backend Language | PHP 8.2 |
| Backend Framework | Laravel |
| Database | MySQL Server, SQFLite |
| Artificial Intelligence | Google Text Recognition (OCR) |
| Frontend Technologies | HTML, CSS, JS, Tailwind CSS |
| State Management | GetX (with feature-based structure) |
| Dev Tools | GitHub, Postman, Android Studio |
pharmacy-platform/
│
├─ backend/ # Website (Laravel)
│ ├─ app/
│ ├─ routes/
│ └─ ...
│
├─ mobile/ # Mobile App (Flutter)
│ ├─ lib/
│ │ ├─ features/ # Feature-based structure with GetX for state management and navigation
│ │ ├─ core/
│ │ └─ ...
│ ├─ assets/
│ └─ ...
│
├─ assets/ # Diagrams and UI images
│
├─ README.md # Main documentation file
└─ ...
- Enable users to recognize drugs from images.
- Provide detailed and accurate information about drugs.
- Facilitate drug search in pharmacies and display their locations.
- Help users adhere to medication schedules (medication reminder).
- Increase users' health awareness.
- Provide a platform for pharmacists to manage and update drug data.
- Serve the pharmacist and medical student community with up-to-date information.
- Drug recognition from images (OCR).
- Medication reminder for user notifications.
- Pharmacy search and map display.
- Health content: Latest articles and medical information.
- Pharmacist interfaces: Register and manage pharmacy/drug data.
- Admin interface: Review pharmacy requests, manage accounts, and drug database.
The project followed the Agile – Scrum methodology:
- Product Owner: Defines requirements and priorities.
- Scrum Master: Organizes schedule and coordination.
- Technical Team: Software development and task execution.
- Work is divided into short development cycles (Sprints) with continuous review and improvement.
- Dart: Mobile app development.
- PHP 8.2: Website development.
- Flutter: Mobile app.
- Laravel: Website backend.
- SQFLite: Local mobile database.
- MySQL Server: Main database for the website.
- OCR (Google Text Recognition): Optical character recognition from images.
- Web Scraping: Data extraction from websites (using dio, html).
- HTML, CSS, JavaScript: Building and styling user interfaces.
- Tailwind CSS: Responsive UI framework.
- Jetstream: User management in Laravel.
- Laravel Passport: OAuth2 authentication.
- Spatie Permission: Role and permission management.
- Fetch API with CSRF protection: Secure server communication.
- GitHub: Source code management and collaboration.
- Visual Studio Code: Versatile code editor.
- Android Studio: Android app development environment.
- Postman: API testing and documentation.
- Laravel Localization: Multi-language support.
- SweetAlert2: Interactive and attractive alerts.
- KeenIcons: Icon library for enhanced UX.
- Google Maps API: Interactive maps in app and website.
- ChatUML, draw.io: Drawing and analyzing diagrams and software charts.
- Adobe XD: UI/UX and design system creation.
- draw.io: Drawing diagrams (ERD, charts, data flows, etc).
Note: These tools were actually used in the design and documentation of the project, even if not mentioned in the original requirements.
-
Environmental Diagram Data Flow:
-
Zero Diagram Data Flow:
-
ERD Interactive Entities:
-
Schema Diagram (Entity Attribute Relations):
-
Use Case Structure (Partial):
-
OCR Data Extraction Steps:
-
Drug Recognition Steps:
-
Design System (Partial):
-
PERT Timeline (Project Requirements Schedule):
- Home Page: Brief of main features, news, notifications, and latest articles.
- Drug Search Page: Fast search by name or drug image, with results and details.
- Pharmacy Map: Displaying pharmacy locations on a map.
- Medication Reminder: Scheduling and notifications for medication times.
- Health Content: Latest medical articles and drug information.
- Profile: User profile and settings management.
- Pharmacist Dashboard: Register, manage pharmacy and drug data, update profile.
- Admin Dashboard: Accept/reject pharmacy registrations, manage users, drugs, and manufacturers.
- Pharmacist registers and submits required documents.
- Admin reviews and accepts/rejects the request.
- Upon acceptance, the pharmacy can add and manage drugs.
- If the license expires, the pharmacy must renew to regain access.
| Status | Description |
|---|---|
| Accepted | The pharmacy is active and can add drugs. |
| Rejected | Registration was rejected or the account was disabled. |
| License Expired | The license has expired; the pharmacy cannot operate until renewed. |
| Abdulqudos Mohammed Al-Shuwaib | Abdullah Mohammed Qasim | Louay Ahmed Al-khali | Abdo Mohammed Al-Ward | Abdulaziz Mohammed Dahan | Mohammed Abdullah Al-Hadhrami |
For inquiries: Please contact any team member
We welcome all suggestions to develop the platform and serve the medical and health community.
Dawaa Platform: Towards Smart and Advanced Healthcare for All 🌟













