How bhumika-aga/mail-order-pharmacy works
MediFlow is a mail-order pharmacy platform. Members use the portal to authenticate, browse drugs, manage subscriptions, and request or track refills; admins also manage accounts and refill status. Separate auth, drug, subscription, and refill services own those domains, with refill coordinating prescription checks and stock operations over REST. The README documents the principal service links and security model; sampled source confirms selected controller, service, and persistence behavior. Several unsampled API paths are shown only where the README supports the relationship.
Main entry points: api.ts API client · RefillService.java Refill orchestration · DrugController.java Drug endpoints · SubscriptionController.java Subscription endpoints
Components 23
Member portal
- Portal routes
frontend/member-portal/src/App.tsx - Member workflows
frontend/member-portal/src/pages - API client
frontend/member-portal/src/services/api.ts
Identity and access
- Auth endpoints
backend/auth-microservice/src/main/java/com/pharmacy/auth/controller/AuthController.java - Account management
backend/auth-microservice/src/main/java/com/pharmacy/auth/service/UserService.java - User accounts
backend/auth-microservice/src/main/java/com/pharmacy/auth/entity/User.java - Member data erasure
backend/auth-microservice/src/main/java/com/pharmacy/auth/client/MemberDataClient.java
Drug inventory
- Drug endpoints
backend/drugs-microservice/src/main/java/com/pharmacy/drugs/controller/DrugController.java - Catalog and stock
backend/drugs-microservice/src/main/java/com/pharmacy/drugs/service/DrugService.java - Drug inventory
backend/drugs-microservice/src/main/java/com/pharmacy/drugs/entity/DrugLocation.java
Subscriptions
- Subscription endpoints
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/controller/SubscriptionController.java - Prescription and subscription logic
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/service/SubscriptionService.java - Member prescriptions
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/entity/MemberPrescription.java - Drug availability client
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/client/DrugServiceClient.java
Refill fulfillment
- Refill endpoints
backend/refill-microservice/src/main/java/com/pharmacy/refill/controller/RefillController.java - Refill orchestration
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/RefillService.java - Refill orders
backend/refill-microservice/src/main/java/com/pharmacy/refill/entity/RefillOrder.java - Drug stock client
backend/refill-microservice/src/main/java/com/pharmacy/refill/client/DrugServiceClient.java - Stock release retries
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/StockReleaseService.java - Pending releases
backend/refill-microservice/src/main/java/com/pharmacy/refill/entity/PendingStockRelease.java - Prescription and due client
backend/refill-microservice/src/main/java/com/pharmacy/refill/client/SubscriptionServiceClient.java
Other components
- Member or admin
- API documentation host
backend/swagger-aggregator/src/main/java/com/pharmacy/swagger/RootRedirectController.java
Connections 28
- Member or admin → Portal routes: uses
README.md - Portal routes → Member workflows: routes to
frontend/member-portal/src/App.tsx - Member workflows → API client: requests data
- API client → Auth endpoints: authenticates
README.md - API client → Drug endpoints: searches drugs
README.md - API client → Subscription endpoints: manages subscriptions
README.md - API client → Refill endpoints: requests refills
README.md - Auth endpoints → Account management: delegates to
backend/auth-microservice/src/main/java/com/pharmacy/auth/controller/AuthController.java - Account management → User accounts: saves accounts
backend/auth-microservice/src/main/java/com/pharmacy/auth/service/UserService.java - Account management → Member data erasure: erases member data
backend/auth-microservice/src/main/java/com/pharmacy/auth/service/UserService.java - Member data erasure → Refill endpoints: requests erasure
README.md - Member data erasure → Subscription endpoints: requests erasure
README.md - Drug endpoints → Catalog and stock: delegates to
backend/drugs-microservice/src/main/java/com/pharmacy/drugs/controller/DrugController.java - Catalog and stock → Drug inventory: reads stock
backend/drugs-microservice/src/main/java/com/pharmacy/drugs/service/DrugService.java - Subscription endpoints → Prescription and subscription logic: delegates to
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/controller/SubscriptionController.java - Prescription and subscription logic → Member prescriptions: persists prescriptions
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/service/SubscriptionService.java - Prescription and subscription logic → Drug availability client: checks availability
backend/subscription-microservice/src/main/java/com/pharmacy/subscription/service/SubscriptionService.java - Drug availability client → Drug endpoints: verifies availability
README.md - Refill endpoints → Refill orchestration: delegates to
backend/refill-microservice/src/main/java/com/pharmacy/refill/controller/RefillController.java - Refill orchestration → Refill orders: persists orders
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/RefillService.java - Refill orchestration → Prescription and due client: checks prescriptions and dues
README.md - Prescription and due client → Subscription endpoints: gets refill dues
README.md - Refill orchestration → Drug stock client: reserves stock
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/RefillService.java - Drug stock client → Drug endpoints: reserves or releases
README.md - Refill orchestration → Stock release retries: queues stock return
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/RefillService.java - Stock release retries → Pending releases: stores retries
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/StockReleaseService.java - Stock release retries → Drug stock client: sends releases
backend/refill-microservice/src/main/java/com/pharmacy/refill/service/StockReleaseService.java - Member or admin → API documentation host: browses API docs