SERVICE INTEGRATION GUIDE
Ebaycclone Admin Panel
This document provides detailed information about how the Ebaycclone Admin Panel integrates with backend services, including configuration, API communication patterns, and service-specific implementation details.
Architectural Design Credit and Contact Information
The architectural design of this service integration is credited to Mindbricks Genesis Engine.
We encourage open communication and welcome any questions or discussions related to the architectural aspects of this service integration.
Documentation Scope
This guide covers the complete integration architecture between the Ebaycclone Admin Panel and its backend services. It includes configuration management, API communication patterns, authentication flows, and service-specific implementation details.
Intended Audience
This documentation is intended for frontend developers, DevOps engineers, and system integrators who need to understand, configure, or extend the admin panel's service integration capabilities.
Service Integration Architecture
Overview
The admin panel integrates with backend services through service-specific HTTP clients. Each service is configured via environment variables and uses its own Axios instance for API communication.
Integration Components
Service Configuration
- Service URLs configured via environment variables
- Service-specific Axios instances for API communication
API Communication
- Basic HTTP client instances per service
- Simple error handling through response interceptors
Service Configuration
Environment Variables
The admin panel uses environment variables to configure service endpoints and integration settings:
Core Configuration
# Application Configuration
VITE_APP_NAME="Ebaycclone Admin Panel"
VITE_APP_VERSION="1.1.10"
VITE_ASSETS_DIR="/assets"
**Service Endpoints**
```bash
# AuctionOffer Service
VITE_AUCTIONOFFER_SERVICE_URL="https://auctionOffer-api.ebaycclone.prod.mindbricks.com"
```bash
# CategoryManagement Service
VITE_CATEGORYMANAGEMENT_SERVICE_URL="https://categoryManagement-api.ebaycclone.prod.mindbricks.com"
```bash
# Messaging Service
VITE_MESSAGING_SERVICE_URL="https://messaging-api.ebaycclone.prod.mindbricks.com"
```bash
# NotificationManagement Service
VITE_NOTIFICATIONMANAGEMENT_SERVICE_URL="https://notificationManagement-api.ebaycclone.prod.mindbricks.com"
```bash
# SearchIndexing Service
VITE_SEARCHINDEXING_SERVICE_URL="https://searchIndexing-api.ebaycclone.prod.mindbricks.com"
```bash
# AdminModeration Service
VITE_ADMINMODERATION_SERVICE_URL="https://adminModeration-api.ebaycclone.prod.mindbricks.com"
```bash
# WatchlistCart Service
VITE_WATCHLISTCART_SERVICE_URL="https://watchlistCart-api.ebaycclone.prod.mindbricks.com"
```bash
# ProductListing Service
VITE_PRODUCTLISTING_SERVICE_URL="https://productListing-api.ebaycclone.prod.mindbricks.com"
```bash
# OrderManagement Service
VITE_ORDERMANAGEMENT_SERVICE_URL="https://orderManagement-api.ebaycclone.prod.mindbricks.com"
```bash
# Feedback Service
VITE_FEEDBACK_SERVICE_URL="https://feedback-api.ebaycclone.prod.mindbricks.com"
```bash
# Auth Service
VITE_AUTH_SERVICE_URL="https://auth-api.ebaycclone.prod.mindbricks.com"
API Communication Patterns
HTTP Client Configuration
Service-Specific Axios Instances
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const auctionOfferAxiosInstance = axios.create({
baseURL: CONFIG.auctionOfferServiceUrl
});
auctionOfferAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default auctionOfferAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const categoryManagementAxiosInstance = axios.create({
baseURL: CONFIG.categoryManagementServiceUrl
});
categoryManagementAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default categoryManagementAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const messagingAxiosInstance = axios.create({
baseURL: CONFIG.messagingServiceUrl
});
messagingAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default messagingAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const notificationManagementAxiosInstance = axios.create({
baseURL: CONFIG.notificationManagementServiceUrl
});
notificationManagementAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default notificationManagementAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const searchIndexingAxiosInstance = axios.create({
baseURL: CONFIG.searchIndexingServiceUrl
});
searchIndexingAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default searchIndexingAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const adminModerationAxiosInstance = axios.create({
baseURL: CONFIG.adminModerationServiceUrl
});
adminModerationAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default adminModerationAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const watchlistCartAxiosInstance = axios.create({
baseURL: CONFIG.watchlistCartServiceUrl
});
watchlistCartAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default watchlistCartAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const productListingAxiosInstance = axios.create({
baseURL: CONFIG.productListingServiceUrl
});
productListingAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default productListingAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const orderManagementAxiosInstance = axios.create({
baseURL: CONFIG.orderManagementServiceUrl
});
orderManagementAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default orderManagementAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const feedbackAxiosInstance = axios.create({
baseURL: CONFIG.feedbackServiceUrl
});
feedbackAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default feedbackAxiosInstance;
import axios from 'axios';
import { CONFIG } from 'src/global-config';
const authAxiosInstance = axios.create({
baseURL: CONFIG.authServiceUrl
});
authAxiosInstance.interceptors.response.use(
(response) => response,
(error) => Promise.reject((error.response && error.response.data) || 'Something went wrong!')
);
export default authAxiosInstance;
Service Endpoints
AuctionOffer Service Endpoints
export const auctionOfferEndpoints = {
auctionOfferOffer: {
updateAuctionOfferOffer: '/v1/auctionofferoffers/:auctionOfferOfferId'
,
getAuctionOfferOffer: '/v1/auctionofferoffers/:auctionOfferOfferId'
,
listAuctionOfferOffers: '/v1/auctionofferoffers'
,
createAuctionOfferOffer: '/v1/auctionofferoffers'
,
deleteAuctionOfferOffer: '/v1/auctionofferoffers/:auctionOfferOfferId'
},
auctionOfferBid: {
createAuctionOfferBid: '/v1/auctionofferbids'
,
getAuctionOfferBid: '/v1/auctionofferbids/:auctionOfferBidId'
,
updateAuctionOfferBid: '/v1/auctionofferbids/:auctionOfferBidId'
,
listAuctionOfferBids: '/v1/auctionofferbids'
,
deleteAuctionOfferBid: '/v1/auctionofferbids/:auctionOfferBidId'
}
};
CategoryManagement Service Endpoints
export const categoryManagementEndpoints = {
category: {
deleteCategory: '/v1/categories/:categoryId'
,
getCategory: '/v1/categories/:categoryId'
,
listCategories: '/v1/categories'
,
updateCategory: '/v1/categories/:categoryId'
,
createCategory: '/v1/categories'
},
subcategory: {
getSubcategory: '/v1/subcategories/:subcategoryId'
,
updateSubcategory: '/v1/subcategories/:subcategoryId'
,
listSubcategories: '/v1/subcategories'
,
deleteSubcategory: '/v1/subcategories/:subcategoryId'
,
createSubcategory: '/v1/subcategories'
}
};
Messaging Service Endpoints
export const messagingEndpoints = {
messagingMessage: {
listMessagingMessages: '/v1/messagingmessages'
,
createMessagingMessage: '/v1/messagingmessages'
,
updateMessagingMessage: '/v1/messagingmessages/:messagingMessageId'
,
getMessagingMessage: '/v1/messagingmessages/:messagingMessageId'
,
deleteMessagingMessage: '/v1/messagingmessages/:messagingMessageId'
}
};
NotificationManagement Service Endpoints
export const notificationManagementEndpoints = {
notification: {
createNotification: '/v1/notifications'
,
updateNotification: '/v1/notifications/:notificationId'
,
listNotifications: '/v1/notifications'
,
deleteNotification: '/v1/notifications/:notificationId'
,
getNotification: '/v1/notifications/:notificationId'
}
};
SearchIndexing Service Endpoints
export const searchIndexingEndpoints = {
searchIndex: {
listSearchIndexes: '/v1/searchindexes'
,
updateSearchIndex: '/v1/searchindexs/:searchIndexId'
,
deleteSearchIndex: '/v1/searchindexs/:searchIndexId'
,
createSearchIndex: '/v1/searchindexs'
,
getSearchIndex: '/v1/searchindexs/:searchIndexId'
}
};
AdminModeration Service Endpoints
export const adminModerationEndpoints = {
moderationAction: {
getModerationAction: '/v1/moderationactions/:moderationActionId'
,
deleteModerationAction: '/v1/moderationactions/:moderationActionId'
,
createModerationAction: '/v1/moderationactions'
,
listModerationActions: '/v1/moderationactions'
,
updateModerationAction: '/v1/moderationactions/:moderationActionId'
}
};
WatchlistCart Service Endpoints
export const watchlistCartEndpoints = {
watchlistItem: {
createWatchlistItem: '/v1/watchlistitems'
,
listWatchlistItems: '/v1/watchlistitems'
,
deleteWatchlistItem: '/v1/watchlistitems/:watchlistItemId'
},
cartItem: {
listCartItems: '/v1/cartitems'
,
deleteCartItem: '/v1/cartitems/:cartItemId'
,
updateCartItemQuantity: '/v1/cartitemquantity/:cartItemId'
,
createCartItem: '/v1/cartitems'
},
watchlistList: {
createWatchlistList: '/v1/watchlistlists'
,
deleteWatchlistList: '/v1/watchlistlists/:watchlistListId'
}
};
ProductListing Service Endpoints
export const productListingEndpoints = {
productListingMedia: {
listProductListingMedia: '/v1/productlistingmedias'
,
getProductListingMedia: '/v1/productlistingmedias/:productListingMediaId'
,
deleteProductListingMedia: '/v1/productlistingmedias/:productListingMediaId'
,
createProductListingMedia: '/v1/productlistingmedias'
},
productListingProduct: {
getProductListingProduct: '/v1/productlistingproducts/:productListingProductId'
,
listProductListingProducts: '/v1/productlistingproducts'
,
deleteProductListingProduct: '/v1/productlistingproducts/:productListingProductId'
,
updateProductListingProduct: '/v1/productlistingproducts/:productListingProductId'
,
createProductListingProduct: '/v1/productlistingproducts'
}
};
OrderManagement Service Endpoints
export const orderManagementEndpoints = {
orderManagementOrder: {
listOrderManagementOrders: '/v1/ordermanagementorders'
,
deleteOrderManagementOrder: '/v1/ordermanagementorders/:orderManagementOrderId'
,
getOrderManagementOrder: '/v1/ordermanagementorders/:orderManagementOrderId'
,
updateOrderManagementOrderStatus: '/v1/ordermanagementorderstatus/:orderManagementOrderId'
,
completeOrderStripeWebhook: '/v1/completeorderstripewebhook/:orderManagementOrderId'
,
createOrderManagementOrder: '/v1/ordermanagementorders'
,
startOrderManagementOrderPayment: '/v1/startordermanagementorderpayment/:orderManagementOrderId'
,
refreshOrderManagementOrderPayment: '/v1/refreshordermanagementorderpayment/:orderManagementOrderId'
,
callbackOrderManagementOrderPayment: '/v1/callbackordermanagementorderpayment'
},
orderManagementOrderItem: {
getOrderManagementOrderItem: '/v1/ordermanagementorderitems/:orderManagementOrderItemId'
,
listOrderManagementOrderItems: '/v1/ordermanagementorderitems'
},
sys_orderManagementOrderPayment: {
getOrderManagementOrderPayment2: '/v1/ordermanagementorderpayment2/:sys_orderManagementOrderPaymentId'
,
listOrderManagementOrderPayments2: '/v1/ordermanagementorderpayments2'
,
createOrderManagementOrderPayment: '/v1/ordermanagementorderpayment'
,
updateOrderManagementOrderPayment: '/v1/ordermanagementorderpayment/:sys_orderManagementOrderPaymentId'
,
deleteOrderManagementOrderPayment: '/v1/ordermanagementorderpayment/:sys_orderManagementOrderPaymentId'
,
listOrderManagementOrderPayments2: '/v1/ordermanagementorderpayments2'
,
getOrderManagementOrderPaymentByOrderId: '/v1/orderManagementOrderpaymentbyorderid/:orderId'
,
getOrderManagementOrderPaymentByPaymentId: '/v1/orderManagementOrderpaymentbypaymentid/:paymentId'
,
getOrderManagementOrderPayment2: '/v1/ordermanagementorderpayment2/:sys_orderManagementOrderPaymentId'
},
sys_paymentCustomer: {
getPaymentCustomerByUserId: '/v1/paymentcustomers/:userId'
,
listPaymentCustomers: '/v1/paymentcustomers'
},
sys_paymentMethod: {
listPaymentCustomerMethods: '/v1/paymentcustomermethods/:userId'
}
};
Feedback Service Endpoints
export const feedbackEndpoints = {
feedback: {
listFeedbacks: '/v1/feedbacks'
,
getFeedback: '/v1/feedbacks/:feedbackId'
,
updateFeedback: '/v1/feedbacks/:feedbackId'
,
deleteFeedback: '/v1/feedbacks/:feedbackId'
,
createFeedback: '/v1/feedbacks'
}
};
Auth Service Endpoints
export const authEndpoints = {
login: "/login",
me: "/v1/users/:userId",
logout: "/logout",
user: {
getUser: '/v1/users/:userId'
,
updateUser: '/v1/users/:userId'
,
updateProfile: '/v1/profile/:userId'
,
createUser: '/v1/users'
,
deleteUser: '/v1/users/:userId'
,
archiveProfile: '/v1/archiveprofile/:userId'
,
listUsers: '/v1/users'
,
searchUsers: '/v1/searchusers'
,
updateUserRole: '/v1/userrole/:userId'
,
updateUserPassword: '/v1/userpassword/:userId'
,
updateUserPasswordByAdmin: '/v1/userpasswordbyadmin/:userId'
,
getBriefUser: '/v1/briefuser/:userId'
,
registerUser: '/v1/registeruser'
}
};
Authentication Integration
JWT Token Management
Basic Token Handling
// Authentication is handled through the AuthProvider context
// Tokens are managed by the JWT authentication system
Multi-Service Authentication
Service Authentication Implementation
// Basic JWT authentication is used across all services
// Authentication context is shared between services
Data Synchronization
Real-Time Updates
Data Synchronization Implementation
// Data is fetched on-demand through API calls
// No real-time synchronization is required
Optimistic Updates
Update Strategy Implementation
// Data is updated directly through API calls
// Changes are reflected immediately after successful API response
Error Handling and Resilience
Error Handling
Error Handling Implementation
// Basic error handling through Axios response interceptors
// Errors are logged and simplified for display
Retry Mechanisms
Retry Implementation
// Basic error handling through Axios interceptors
// Errors are logged and displayed to users
Service-Specific Integration Details
AuctionOffer Service Integration
Service Overview
-
Service Name:
auctionOffer -
Display Name:
AuctionOffer - Primary Purpose: Handles auction bids and fixed-price offers for product listings, enforces real-time auction state, handles strict offer workflows including counter-offers, and triggers domain events for bid/offer notifications. No payment or frontend aggregation logic included.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
-
AuctionOfferOffer: Represents an offer (best offer/counter-offer) made on a fixed-price product. Tracks buyer, seller, amounts, currency, state transitions, counter-offers, and expiry.
-
AuctionOfferBid: Represents an individual bid placed on an auction-type product. Linked to product and user, tracks bid amount, currency, status (ACTIVE, WON, LOST, CANCELLED), and time placed.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_AUCTIONOFFER_SERVICE_URL=https://auctionOffer-api.ebaycclone.prod.mindbricks.com
CategoryManagement Service Integration
Service Overview
-
Service Name:
categoryManagement -
Display Name:
CategoryManagement - Primary Purpose: Handles product categories and subcategories for marketplace browsing and classification, supporting public discovery plus admin-only management.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
-
Category: Represents a product category in the marketplace (e.g., Electronics, Clothing, Toys), used for browsing, filtering, and discovery. Admins manage categories.
-
Subcategory: Represents a subcategory within a parent category (e.g., 'Smartphones' under 'Electronics'). Used for more granular product discovery and navigation. 'group' categorizes special display logic.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_CATEGORYMANAGEMENT_SERVICE_URL=https://categoryManagement-api.ebaycclone.prod.mindbricks.com
Messaging Service Integration
Service Overview
-
Service Name:
messaging -
Display Name:
Messaging - Primary Purpose: In-app messaging service for direct user-to-user text messages (buyers/sellers). Stores, retrieves, and manages user conversations. Launch version: text-only.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- MessagingMessage: A direct, text-only in-app message between two users (buyer/seller); stores sender, recipient, content, read status, and timestamp.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_MESSAGING_SERVICE_URL=https://messaging-api.ebaycclone.prod.mindbricks.com
NotificationManagement Service Integration
Service Overview
-
Service Name:
notificationManagement -
Display Name:
NotificationManagement - Primary Purpose: Handles storage, management, and event-driven delivery of in-app and email notifications for user-impacting system events (bids, offers, orders, feedback, messaging, etc.). Supports marking notifications as read/unread, structured filtering by event type/channel, and always returns in-app notifications ordered by recency.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- Notification: Stores and manages in-app and email notifications tied to user-facing events like bids, offers, orders, messaging, shipment, and feedback. Includes event type (notificationType) for filter/search, arbitrary event payload, and delivery channel. Soft-delete enforced. In-app notifications always sorted by createdAt DESC on retrieval.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_NOTIFICATIONMANAGEMENT_SERVICE_URL=https://notificationManagement-api.ebaycclone.prod.mindbricks.com
SearchIndexing Service Integration
Service Overview
-
Service Name:
searchIndexing -
Display Name:
SearchIndexing - Primary Purpose: Maintains the denormalized search index (materialized view) for global, public search across products, sellers, categories, and subcategories. Handles indexing in response to entity events and exposes optimized query endpoints for BFF/aggregator.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- SearchIndex: Materialized/denormalized search index record for a marketplace entity (product, seller, category, subcategory). Used exclusively for high-speed querying in BFF global/public search.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_SEARCHINDEXING_SERVICE_URL=https://searchIndexing-api.ebaycclone.prod.mindbricks.com
AdminModeration Service Integration
Service Overview
-
Service Name:
adminModeration -
Display Name:
AdminModeration - Primary Purpose: Administrative backend service for moderation and manual override actions. Responsible for logging all admin interventions (user/product/feedback/media/category/order/notification/searchindex moderation), triggering corrections via interservice calls, and providing comprehensive audit trails for compliance.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- ModerationAction: Audit record for all admin moderation/override actions affecting core business entities. Links to admin, timestamp, entity type/ID, action performed, and reason.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_ADMINMODERATION_SERVICE_URL=https://adminModeration-api.ebaycclone.prod.mindbricks.com
WatchlistCart Service Integration
Service Overview
-
Service Name:
watchlistCart -
Display Name:
WatchlistCart - Primary Purpose: Handles user watchlists (with custom folders) and shopping cart preparation for checkout, strictly enforcing only fixed-price products in carts, supporting item moves/bulk operations, and robust default/folder logic..
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
-
WatchlistItem: Item in a user’s watchlist, optionally in a named folder; references product and user.
-
CartItem: Single product pending checkout in a user’s cart. Only fixed-price products permitted; quantity supported for multi-unit purchases (if allowed).
-
WatchlistList: A named folder/list in a user’s watchlist. Default list exists for all users. Custom lists may be created and deleted.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_WATCHLISTCART_SERVICE_URL=https://watchlistCart-api.ebaycclone.prod.mindbricks.com
ProductListing Service Integration
Service Overview
-
Service Name:
productListing -
Display Name:
ProductListing - Primary Purpose: Handles product listings (both auction and fixed-price), image/media storage with validations, enforces immutable type, soft-delete, and public product discovery.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
-
ProductListingMedia: Stores and manages images/media associated with products, including secure URL, MIME type, and size validation. Each asset can be used by multiple products.
-
ProductListingProduct: Represents a single product listing (fixed-price or auction) in the marketplace, with seller, category, type, price information, shipping details, media references, and dynamic auction fields.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_PRODUCTLISTING_SERVICE_URL=https://productListing-api.ebaycclone.prod.mindbricks.com
OrderManagement Service Integration
Service Overview
-
Service Name:
orderManagement -
Display Name:
OrderManagement - Primary Purpose: Handles all marketplace orders, manual checkout flows for fixed-price/offer/auction settlements, Stripe payment processing and webhook reconciliation, explicit status updates (shipping, delivery, cancellation), and feedback eligibility via orderItems.
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
-
OrderManagementOrder: Marketplace order record. Stores buyer, shipping, status, items, Stripe payment data, and manual shipment/delivery events. Only accessible to admins or the buyer/seller of order items.
-
OrderManagementOrderItem: Order line item representing purchase of a single product from a specific seller as part of an order. Enables feedback, delivery, and per-seller analytics. Immutable after order creation.
-
Sys_orderManagementOrderPayment: A payment storage object to store the payment life cyle of orders based on orderManagementOrder object. It is autocreated based on the source object's checkout config
-
Sys_paymentCustomer: A payment storage object to store the customer values of the payment platform
-
Sys_paymentMethod: A payment storage object to store the payment methods of the platform customers
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_ORDERMANAGEMENT_SERVICE_URL=https://orderManagement-api.ebaycclone.prod.mindbricks.com
Feedback Service Integration
Service Overview
-
Service Name:
feedback -
Display Name:
Feedback - Primary Purpose: Handles feedback for order items: one feedback per buyer/orderItem, attached to sellerId for analytical feedback/rating aggregation and reputation tracking. Enables querying feedbacks received/given for sellers and buyers. test
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- Feedback: One feedback per (buyer, orderItem). Stores rating (1-5), comment, ties to seller for analytics. Created only after delivery confirmed on order item.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_FEEDBACK_SERVICE_URL=https://feedback-api.ebaycclone.prod.mindbricks.com
Auth Service Integration
Service Overview
-
Service Name:
auth -
Display Name:
Auth - Primary Purpose: Authentication service for the project
Integration Features
- Basic CRUD operations for data objects
- Simple error handling
Data Object Management
- User: A data object that stores the user information and handles login settings.
API Endpoints
- Data Operations: Service-specific CRUD endpoints based on business logic
Configuration Requirements
VITE_AUTH_SERVICE_URL=https://auth-api.ebaycclone.prod.mindbricks.com
Performance Optimization
Caching Strategies
Caching Implementation
// Data is fetched on-demand through API calls
// No caching is required for current use cases
Request Batching
Request Batching Implementation
// Individual API calls are made as needed
// Each operation is handled independently
Monitoring and Logging
Service Monitoring
Monitoring Implementation
// Basic error logging through console.error
// Service health is monitored through API responses
Error Logging
Error Logging Implementation
// Basic error logging through console.error
// Errors are displayed to users through UI components