MultiMarketHub makes selling easy! Manage your products effortlessly across many online stores, ensuring a smooth shopping experience for both sellers and buyers with inventory control and customized features. This README provides an overview of the platform's architecture, deployment, development setup, and key technologies used.
MultiMarketHub leverages a microservices architecture for scalability and flexibility. The core microservices include:
- User Service: Manages authentication and user profiles.
- Store Service: Facilitates store creation and management.
- Product Service: Enables product addition, updates, and retrieval.
- Order Service: Handles the end-to-end order processing workflow.
- Payment Service: Ensures secure and seamless transactions.
Centralized configuration management for easy updates across services.
Efficient service discovery for seamless communication between microservices.
Central entry point for external clients, routing requests to the appropriate microservices.
Facilitates tracing and monitoring of requests across microservices.
MultiMarketHub relies on PostgreSQL for its robust and scalable database management.
MultiMarketHub can be deployed in various environments, and the following technologies support its deployment:
-
Containerization: Docker for containerization, ensuring consistency across different environments.
-
Orchestration: Kubernetes for orchestrating and managing containers at scale.
- GET /admins - retrieves a list of all users
- GET /admins/{id} - retrieves a specific users by ID
- POST /admins - creates a new users (admin)
- PUT /admins/{id} - updates an existing users by ID
- DELETE /admins/{id} - deletes a users by ID
- POST /admins/login?email=&password= - Sign in using your email address and password.
- GET /stores - retrieves a list of all stores
- GET /stores/{Id} - retrieves a specific stores by ID
- POST /stores - creates a new stores
- PUT /stores/{Id} - updates an existing stores by ID
- DELETE /stores/{Id} - deletes a stores by ID
- GET /storeName/{resourceName} -- retrieves a specific stores by resourceName
- POST /stores/{storeId}/products - creates a new products
- GET /stores/{storeId}/products - retrieves a list of all products
- GET /stores/{storeId}/products/{id} - retrieves a specific products by ID
- PUT /stores/{storeId}/products/{id} - updates an existing products by ID
- DELETE /stores/{storeId}/products/{id} - deletes a products by ID
- GET /stores/{storeId}/products/search/{productName} - Search by Product Name
- POST /products/images/upload - Upload Product Images
- GET /units - get all the units
- GET /stores/{storeId}/categories - retrieves list of all categories
- GET /stores/{storeId}/categories/{CategoryId}/products - retrieves products by categories and store Id
- GET /customers?storeId= - retrieves a list of all users based on store id
- GET /customers/{id}?storeId= - retrieves a specific users by ID based on store id
- POST /customers - creates a new users (admin)
- POST /customers?storeId= - creates a new users (customer) based on store id
- PUT /customers/{id} - updates an existing users by ID
- DELETE /customers/{id} - deletes a users by ID
- POST /customers/login?email=&password=&storeId= - Sign in using your email address, password and storeId.
- POST /cartItems - Add the products to the cart
- GET /cartItems?storeId=&customerId= - Get the products from the cart
- DELETE /cartItems/{productId}?storeId=&customerId= - Delete the products from the cart
- POST /checkout?storeId=&customerId= - Order the items from cart
- GET /orders?storeId=&customerId=&orderId=? - Get the products from the cart
- GET /paymentMethods - Get the payment methods
- POST /sendEmail?toEmail=&subject= - Send Email using AWS Simple Email Service
- POST /verifyEmail?emailAddress= - Verify Email using AWS Simple Email Service
- GET /verifiedEmailsFromAws - Get Verified Emails using AWS Simple Email Service
- POST /products/images/upload - Upload product images to an AWS S3 bucket