KicksUp (PharmaSys) is a comprehensive pharmacy management system built with Flask and Firebase. It provides a complete solution for managing pharmacy operations including inventory tracking, medicine management, prescription handling, order processing, and sales reporting.
- π Dashboard Analytics - Real-time insights into pharmacy operations with interactive charts
- π Medicine Management - Complete medicine database with expiry tracking
- π Inventory Control - Stock level monitoring with low inventory alerts
- π Prescription Management - Process and track patient prescriptions
- π Order Processing - Create and manage customer orders with integrated billing
- π’ Supplier Management - Maintain supplier information and purchase history
- π Multilingual Support - Full support for English and Arabic languages
- π Secure Authentication - Firebase-based user authentication with role management
- βοΈ Cloud Integration - Firebase Firestore for reliable data storage
- Backend: Flask (Python 3.7+)
- Database: Firebase Firestore
- Frontend: HTML5, CSS3, JavaScript with Jinja2 templates
- Authentication: Firebase Authentication
- Storage: Google Cloud Storage (optional)
- Python 3.7 or higher
- Firebase project (optional, for production use)
- Git
-
Clone the repository
git clone https://github.com/DAVIXSX/pharmacy-management-system.git cd pharmacy-management-system -
Create and activate virtual environment
# Windows PowerShell python -m venv .venv .\.venv\Scripts\Activate
# Linux/macOS python -m venv .venv source .venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Configure Firebase (Optional)
- Create a Firebase project at Firebase Console
- Enable Firestore Database
- Create a service account and download the JSON key
- Set environment variable:
# Windows PowerShell $env:GOOGLE_APPLICATION_CREDENTIALS = 'C:\path\to\serviceAccount.json'
# Linux/macOS export GOOGLE_APPLICATION_CREDENTIALS='/path/to/serviceAccount.json'
Note: If no Firebase credentials are provided, the app will use mock data for development.
-
Run the application
python app.py
-
Access the application Open your browser and navigate to
http://127.0.0.1:5000
kicksup/
βββ app.py # Main Flask application
βββ firebase_config.py # Firebase configuration
βββ firebase_client.py # Firebase client utilities
βββ translations.py # Multilingual support
βββ templates/ # HTML templates
β βββ base.html # Base template
β βββ login.html # Authentication pages
β βββ index.html # Dashboard
β βββ inventory.html # Inventory management
β βββ medicines.html # Medicine database
β βββ orders.html # Order management
β βββ ... # Other templates
βββ static/ # Static assets (CSS, JS, images)
βββ requirements.txt # Python dependencies
βββ README.md # This file
Secure Firebase-based authentication system
Real-time pharmacy analytics with interactive charts and key performance metrics
Comprehensive inventory tracking with low stock alerts
Complete medicine catalog with expiry date monitoring
Streamlined order management and billing system
Maintain supplier relationships and purchase history
Generate comprehensive business insights and reports
Integrated support and communication features
- Login/Register: Create an account or login with existing credentials
- Dashboard: View pharmacy performance metrics and analytics
- Inventory: Manage stock levels and receive low inventory alerts
- Medicines: Add, edit, and track medicine information and expiry dates
- Orders: Process customer orders and manage billing
- Suppliers: Maintain supplier relationships and purchase history
- Reports: Generate comprehensive business reports
- Templates: Located in
templates/directory, using Jinja2 templating - Static Files: CSS, JavaScript, and images in
static/directory - Database: Uses Firebase Firestore with automatic fallback to mock data
- Authentication: Integrated Firebase Authentication with session management
Contributions are welcome! Please feel free to submit a Pull Request. For major changes:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
π§ Email: nexgendev.davis@gmail.com
Built with β€οΈ for pharmacy management