{"id":26562588,"url":"https://github.com/rayeesac/medibillz","last_synced_at":"2026-04-13T22:32:02.237Z","repository":{"id":282863974,"uuid":"949883355","full_name":"Rayeesac/MediBillz","owner":"Rayeesac","description":"MediBillz – Medical Shop Billing API (Django + DRF + PostgreSQL+ Docker)","archived":false,"fork":false,"pushed_at":"2025-03-17T10:34:33.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T11:27:25.716Z","etag":null,"topics":["django","django-framework","django-rest-framework","docker","dockerfile","drf","postgresql","python","resful-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rayeesac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-17T09:43:32.000Z","updated_at":"2025-03-17T10:34:36.000Z","dependencies_parsed_at":"2025-03-17T11:37:32.127Z","dependency_job_id":null,"html_url":"https://github.com/Rayeesac/MediBillz","commit_stats":null,"previous_names":["rayeesac/medibillz"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayeesac%2FMediBillz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayeesac%2FMediBillz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayeesac%2FMediBillz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayeesac%2FMediBillz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rayeesac","download_url":"https://codeload.github.com/Rayeesac/MediBillz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244973810,"owners_count":20541025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-framework","django-rest-framework","docker","dockerfile","drf","postgresql","python","resful-api"],"created_at":"2025-03-22T15:18:11.525Z","updated_at":"2026-04-13T22:32:02.202Z","avatar_url":"https://github.com/Rayeesac.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏥 MediBillz-Medical Shop Billing API (Django,DRF,PostgreSQL)\n\n## 📌 Overview  \nMediBillz is a **Django REST Framework (DRF) API** for managing a **Medical Shop Billing System**.  \nIt includes **user authentication, medicine management, billing, stock tracking, and reports**.\n\n---\n\n## 🚀 Features  \n✅ **JWT Authentication** (Login, Logout, Role-based Access)  \n✅ **Medicine Management** (Add, Update, Delete, Track Stock)  \n✅ **Billing System** (Auto Price Calculation, Invoice Generation)  \n✅ **Real-time Notifications** (Low Stock \u0026 Expiry Alerts)  \n✅ **Admin Dashboard** (Sales Reports \u0026 Performance Metrics)  \n\n---\n\n## 📥 **Postman Collection**  \n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/grey-equinox-143107/medibillz/collection/cazzzdu/medibillz-medical-shop-billing-api)  \n\n1️⃣ Click the **\"Run in Postman\"** button.  \n2️⃣ Import the **Postman Collection** and set the environment variables:  \n   ```\n   base_url = http://127.0.0.1:8000\n   token = \u003cJWT_ACCESS_TOKEN_FROM_LOGIN\u003e\n   ```\n3️⃣ Send requests and test APIs.\n\n---\n\n## 🛠️ Get Started to Setup.  \n\n### **🔹 Step 1: Clone the Repository**  \nTo get started, clone the project from GitHub:\n```sh\ngit clone https://github.com/Rayeesac/MediBillz.git\ncd MediBillz\n```\n\n### **🔹 Step 2: Run the Application Using Docker**  \nMediBillz comes with Docker support, making it easy to set up dependencies like PostgreSQL and Django in isolated containers.\n\n🔹Start the Application\nRun the following command to build and start the services in detached mode (-d):\n\n```sh\ndocker-compose -f docker-compose.yml up -d --build\n```\nTo check running containers, use:\n```sh\ndocker ps\n```\n### **🔹 Step 3: Restore the Database**  \nIf you have a database backup (medibillz.sql), you can restore it into the running PostgreSQL container.\n\n🔹 Run the Command\n```sh\ncat medibillz.sql | docker exec -i medi_postgres psql -U postgres\n```\n\n### **🔹 Step 4: Restart Docker Services**  \n```sh\ndocker-compose -f docker-compose.yml down \u0026\u0026 docker-compose -f docker-compose.yml up -d\n```\n\n---\nAdmin credentials\n---------\nusername : medi-billz-admin\npassword : MBMBiz@Admin2025\n\n---\n\n## 📌 API Endpoints  \n\n### **1️⃣ Authentication APIs**\n| Method | Endpoint | Description |\n|--------|-------------|--------------------|\n| `POST` | `/api/auth/register/` | Register a new user (Admin, Staff, Inventory Manager) |\n| `POST` | `/api/auth/login/` | Get JWT access \u0026 refresh tokens |\n| `POST` | `/api/auth/logout/` | Invalidate JWT token |\n\n---\n\n### **2️⃣ User Management APIs (Admin Only)**\n| Method | Endpoint | Description |\n|--------|-------------|--------------------|\n| `GET` | `/api/users/` | Get all users |\n| `GET` | `/api/users/{id}/` | Get a specific user |\n| `PUT` | `/api/users/{id}/` | Update user details |\n| `DELETE` | `/api/users/{id}/` | Delete a user |\n\n---\n\n### **3️⃣ Medicine Management APIs (Inventory Manager Only)**\n| Method | Endpoint | Description |\n|--------|-------------|--------------------|\n| `POST` | `/api/medicines/` | Add a new medicine |\n| `GET` | `/api/medicines/` | List all medicines |\n| `GET` | `/api/medicines/{id}/` | Get medicine details |\n| `PUT` | `/api/medicines/{id}/` | Update medicine details |\n| `DELETE` | `/api/medicines/{id}/` | Delete a medicine |\n\n---\n\n### **4️⃣ Billing APIs (Staff Only)**\n| Method | Endpoint | Description |\n|--------|-------------|--------------------|\n| `POST` | `/api/billing/` | Create a bill (Auto price calculation) |\n\n📌 **Example Request:**\n```json\n{\n    \"items\": [\n        { \"medicine\": 2, \"quantity\": 2, \"packaging_type\": \"box\" },\n        { \"medicine\": 1, \"quantity\": 1, \"packaging_type\": \"pack\" }\n    ]\n}\n```\n\n---\n\n### **5️⃣ Dashboard APIs (Admin Only)**\n| Method | Endpoint | Description |\n|--------|-------------|--------------------|\n| `GET` | `/api/dashboard/stock/` | Get available stock |\n| `GET` | `/api/dashboard/reports/?start_date=YYYY-MM-DD\u0026end_date=YYYY-MM-DD` | Get sales reports |\n\n---\n\n## 📧 **Contact \u0026 Support**  \nFor issues, feel free to open a GitHub issue or contact:  \n📩 Email: **info.rayeesac@gmail.com**  \n🔗 GitHub: [GitHub Repo](https://github.com/Rayeesac/MediBillz)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayeesac%2Fmedibillz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayeesac%2Fmedibillz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayeesac%2Fmedibillz/lists"}