How lycorecoil/ika-tracker works
IKA Tracker’s backend is a Node.js microservice system for courier delivery management. The main user workflow is to authenticate and maintain an active subscription, manage couriers, create and assign parcels, then manage delivery slips through the Decharge service. Payment and subscription lifecycle operations are handled separately through Stripe. The graph follows sampled route/controller wiring and README service boundaries; Decharge operations beyond parcels and several service internals are represented only where the tree supports them.
Main entry points: agentController.js Agent workflows · colisController.js Parcel workflows · app.js Auth service · authController.js Auth workflows
Components 31
Authentication
- Auth service
Backend/AuthService/app.js - Auth routes
Backend/AuthService/src/routers/authRouter.js - Auth workflows
Backend/AuthService/src/controllers/authController.js - User records
Backend/AuthService/src/models/usersModel.js - Token handling
Backend/AuthService/src/utils/tokenService.js
Courier Management
- Courier service
Backend/CourierService/app.js - Agent routes
Backend/CourierService/src/routers/agentRoutes.js - Agent workflows
Backend/CourierService/src/controllers/agentController.js - Agent records
Backend/CourierService/src/models/agentModel.js - Agent internal API
Backend/CourierService/src/routers/internalRoutes.js
Parcel Operations
- Decharge service
Backend/DechargeService/app.js - Parcel routes
Backend/DechargeService/src/routers/colisRoutes.js - Parcel workflows
Backend/DechargeService/src/controllers/colisController.js - Parcel records
Backend/DechargeService/src/models/colisModel.js - Delivery-slip routes
Backend/DechargeService/src/routers/dechargeRoutes.js - Delivery-slip workflows
Backend/DechargeService/src/controllers/dechargeController.js - Delivery-slip records
Backend/DechargeService/src/models/dechargeModel.js
Payments
- Payment service
Backend/PayementService/app.js - Subscription routes
Backend/PayementService/src/routers/subscriptionRoutes.js - Subscription workflows
Backend/PayementService/src/controllers/subscriptionController.js - Payment routes
Backend/PayementService/src/routers/paymentRoutes.js - Payment workflows
Backend/PayementService/src/controllers/paymentController.js - Stripe webhooks
Backend/PayementService/src/controllers/webhookController.js - Stripe adapter
Backend/PayementService/services/stripeService.js - Subscription records
Backend/PayementService/src/models/subscriptionModel.js - Payment records
Backend/PayementService/src/models/paymentModel.js
Shared Middleware
- Service client
Backend/shared-middlewares/middlewares/serviceClient.js - Redis cache
Backend/shared-middlewares/redisCache.js
Other components
- User
- Stripe
- Email provider
Connections 40
- User → Auth service: uses API
- Auth service → Auth routes: mounts
- Auth routes → Auth workflows: dispatches
- Auth workflows → User records: reads/writes
- Auth workflows → Token handling: uses tokens
- Auth service → User records: connects MongoDB
- Auth service → Redis cache: caches auth routes
- Auth workflows → Email provider: sends verification mail
- User → Courier service: manages couriers
- Courier service → Agent routes: mounts
- Agent routes → Agent workflows: dispatches
- Agent workflows → Agent records: reads/writes
- Agent workflows → Service client: requests auth service
- Service client → Auth service: calls internal API
- Agent workflows → Redis cache: invalidates entries
- Agent workflows → Email provider: sends welcome email
- Courier service → Agent internal API: mounts
- Agent internal API → Agent records: checks agent
- User → Decharge service: manages deliveries
- Decharge service → Parcel routes: mounts
- Parcel routes → Parcel workflows: dispatches
- Parcel workflows → Parcel records: reads/writes
- Parcel workflows → Service client: checks subscription and agent
- Parcel workflows → Redis cache: invalidates entries
- Parcel workflows → Agent routes: checks agent via internal API
- Decharge service → Delivery-slip routes: mounts
- Delivery-slip routes → Delivery-slip workflows: dispatches
- Delivery-slip workflows → Delivery-slip records: reads/writes
- User → Payment service: manages subscription
- Payment service → Subscription routes: mounts
- Subscription routes → Subscription workflows: dispatches
- Subscription workflows → Subscription records: reads/writes
- Subscription workflows → Stripe adapter: creates/cancels subscription
- Stripe adapter → Stripe: calls API
- Payment service → Payment routes: mounts
- Payment routes → Payment workflows: dispatches
- Payment routes → Stripe webhooks: dispatches webhook
- Stripe webhooks → Stripe: verifies events
- Payment workflows → Payment records: reads/writes
- Subscription workflows → User records: syncs subscription status