SmartBasket E-Commerce Platform is an AI-powered, role-based commerce solution for customers, admins, and delivery teams. It enables smart product discovery, secure checkout, OTP-verified delivery, rejection tracking, and real-time order workflows through a modern React frontend and robust .NET + MySQL backend APIs.
JavaScript
0
11 commits
updated Jun 10, 2026
SmartBasket is a full-stack, role-based e-commerce platform built with:
The platform supports three operational panels:
Primary goals of the product:
E-Commerce/
Backend/ # ASP.NET Core API
AI/
Controllers/
Data/
DTOs/
Helpers/
Middleware/
Migrations/
Models/
Repositories/
Services/
Program.cs
EcommerceAI.csproj
.env.example
appsettings.Local.example.json
Frontend/ # React + Vite + TypeScript app
src/
api/
app/
auth/
components/
features/
layouts/
routes/
types/
utils/
package.json
E-Commerce.sln
README.md
PROJECT_DOCUMENTATION.md
.gitignore
net10.0)The platform data model is centered around:
Key backend model files:
Backend/Models/User.csBackend/Models/Product.csBackend/Models/Category.csBackend/Models/CartItem.csBackend/Models/Order.csBackend/Models/OrderItem.csBackend/Models/Review.csBackend/Models/RefreshToken.csLayered structure:
Important startup and infrastructure details from Program.cs:
.env file at startupFrontend organization follows feature-first modules:
src/features/homesrc/features/productssrc/features/cartsrc/features/orderssrc/features/adminsrc/features/deliverysrc/features/aisrc/features/authRouting is centralized in:
Frontend/src/routes/router.tsxLayout and navigation:
Frontend/src/layouts/MainLayout.tsxFrontend/src/components/ui/Navbar.tsxFrontend/src/components/ui/PanelSidebar.tsxState and networking patterns:
src/api/*src/auth/AuthContext.tsx//login/register/products/products/:productId/search/cart/checkout/orders/orders/:orderId/admin/dashboard/admin/categories/admin/products/admin/orders/admin/past-delivery/admin/ai-tools/delivery/orders/delivery/past-deliveryAll routes are rooted under /api.
/api/auth)POST /registerPOST /loginPOST /refreshPOST /dev-reset-password (development utility)/api/products)GET /GET /{id}POST / (Admin)PUT /{id} (Admin)DELETE /{id} (Admin)POST /upload-image (Admin)/api/categories)GET /GET /{id}POST / (Admin)/api/cart) - AuthenticatedGET /POST /PUT /{cartItemId}DELETE /{cartItemId}/api/orders) - AuthenticatedPOST /checkoutGET /myGET /my/{id}GET / (Admin)POST /{orderId}/assign-delivery (Admin)POST /{orderId}/reject (Customer)POST /{orderId}/reject-admin (Admin)GET /delivery-users (Admin)/api/delivery) - Delivery roleGET /ordersPOST /orders/{orderId}/status/{status}POST /orders/{orderId}/verify-otpPOST /orders/{orderId}/reject/api/reviews)GET /product/{productId}POST / (Authenticated)PUT /{reviewId} (Authenticated)DELETE /{reviewId} (Authenticated)/api/ai)POST /generate-descriptionGET /reviews-summary/{productId}POST /smart-searchGET /recommendations/{productId}/api/secure)GET /meGET /admin (Admin)GET /customer (Customer)GET /delivery (Delivery)PendingAssignedOutForDeliveryDeliveredOrders can be rejected by:
Rejection metadata is stored and returned by API:
RejectedByRejectionReasonRejectedAtUtcRejection behaviors:
Project uses local-only secret files and env variables.
Tracked safe templates:
Backend/.env.exampleBackend/appsettings.Local.example.jsonLocal secret files (ignored by git):
Backend/.envBackend/appsettings.Local.jsonBackend/appsettings.Development.json (ignored)Backend/appsettings.json (ignored).env variables currently expectedConnectionStrings__DefaultConnectionJwt__KeyJwt__IssuerJwt__AudienceJwt__ExpiresInMinutesJwt__RefreshTokenDaysHuggingFace__ApiKeyHuggingFace__ModelHuggingFace__EndpointHuggingFace__EmbeddingModelHuggingFace__EmbeddingFallbackModelcd Backend
copy .env.example .env
# update .env values
dotnet restore
dotnet build
dotnet run
Backend default URLs:
http://localhost:5000http://localhost:5000/swaggerhttp://localhost:5000/healthcd Frontend
npm install
npm run dev
Frontend development URL:
http://localhost:5173 (or Vite-assigned port)cd Backend
dotnet build
cd ..\Frontend
npm run build
Backend/logs/POST /api/auth/dev-reset-password exists for development support and should be removed or restricted for production.<Nullable>disable</Nullable>), so nullable warnings exist in some files.SmartBasket is a complete role-based commerce platform with operational depth:
This repository is structured for active feature development and can be moved toward production with security hardening and CI/CD setup.
JavaScript
53.7%
C#
45.1%
CSS
1.1%
SmartBasket E-Commerce Platform is an AI-powered, role-based commerce solution for customers, admins, and delivery teams. It enables smart product discovery, secure checkout, OTP-verified delivery, rejection tracking, and real-time order workflows through a modern React frontend and robust .NET + MySQL backend APIs.
JavaScript
0
11 commits
updated Jun 10, 2026
SmartBasket is a full-stack, role-based e-commerce platform built with:
The platform supports three operational panels:
Primary goals of the product:
E-Commerce/
Backend/ # ASP.NET Core API
AI/
Controllers/
Data/
DTOs/
Helpers/
Middleware/
Migrations/
Models/
Repositories/
Services/
Program.cs
EcommerceAI.csproj
.env.example
appsettings.Local.example.json
Frontend/ # React + Vite + TypeScript app
src/
api/
app/
auth/
components/
features/
layouts/
routes/
types/
utils/
package.json
E-Commerce.sln
README.md
PROJECT_DOCUMENTATION.md
.gitignore
net10.0)The platform data model is centered around:
Key backend model files:
Backend/Models/User.csBackend/Models/Product.csBackend/Models/Category.csBackend/Models/CartItem.csBackend/Models/Order.csBackend/Models/OrderItem.csBackend/Models/Review.csBackend/Models/RefreshToken.csLayered structure:
Important startup and infrastructure details from Program.cs:
.env file at startupFrontend organization follows feature-first modules:
src/features/homesrc/features/productssrc/features/cartsrc/features/orderssrc/features/adminsrc/features/deliverysrc/features/aisrc/features/authRouting is centralized in:
Frontend/src/routes/router.tsxLayout and navigation:
Frontend/src/layouts/MainLayout.tsxFrontend/src/components/ui/Navbar.tsxFrontend/src/components/ui/PanelSidebar.tsxState and networking patterns:
src/api/*src/auth/AuthContext.tsx//login/register/products/products/:productId/search/cart/checkout/orders/orders/:orderId/admin/dashboard/admin/categories/admin/products/admin/orders/admin/past-delivery/admin/ai-tools/delivery/orders/delivery/past-deliveryAll routes are rooted under /api.
/api/auth)POST /registerPOST /loginPOST /refreshPOST /dev-reset-password (development utility)/api/products)GET /GET /{id}POST / (Admin)PUT /{id} (Admin)DELETE /{id} (Admin)POST /upload-image (Admin)/api/categories)GET /GET /{id}POST / (Admin)/api/cart) - AuthenticatedGET /POST /PUT /{cartItemId}DELETE /{cartItemId}/api/orders) - AuthenticatedPOST /checkoutGET /myGET /my/{id}GET / (Admin)POST /{orderId}/assign-delivery (Admin)POST /{orderId}/reject (Customer)POST /{orderId}/reject-admin (Admin)GET /delivery-users (Admin)/api/delivery) - Delivery roleGET /ordersPOST /orders/{orderId}/status/{status}POST /orders/{orderId}/verify-otpPOST /orders/{orderId}/reject/api/reviews)GET /product/{productId}POST / (Authenticated)PUT /{reviewId} (Authenticated)DELETE /{reviewId} (Authenticated)/api/ai)POST /generate-descriptionGET /reviews-summary/{productId}POST /smart-searchGET /recommendations/{productId}/api/secure)GET /meGET /admin (Admin)GET /customer (Customer)GET /delivery (Delivery)PendingAssignedOutForDeliveryDeliveredOrders can be rejected by:
Rejection metadata is stored and returned by API:
RejectedByRejectionReasonRejectedAtUtcRejection behaviors:
Project uses local-only secret files and env variables.
Tracked safe templates:
Backend/.env.exampleBackend/appsettings.Local.example.jsonLocal secret files (ignored by git):
Backend/.envBackend/appsettings.Local.jsonBackend/appsettings.Development.json (ignored)Backend/appsettings.json (ignored).env variables currently expectedConnectionStrings__DefaultConnectionJwt__KeyJwt__IssuerJwt__AudienceJwt__ExpiresInMinutesJwt__RefreshTokenDaysHuggingFace__ApiKeyHuggingFace__ModelHuggingFace__EndpointHuggingFace__EmbeddingModelHuggingFace__EmbeddingFallbackModelcd Backend
copy .env.example .env
# update .env values
dotnet restore
dotnet build
dotnet run
Backend default URLs:
http://localhost:5000http://localhost:5000/swaggerhttp://localhost:5000/healthcd Frontend
npm install
npm run dev
Frontend development URL:
http://localhost:5173 (or Vite-assigned port)cd Backend
dotnet build
cd ..\Frontend
npm run build
Backend/logs/POST /api/auth/dev-reset-password exists for development support and should be removed or restricted for production.<Nullable>disable</Nullable>), so nullable warnings exist in some files.SmartBasket is a complete role-based commerce platform with operational depth:
This repository is structured for active feature development and can be moved toward production with security hardening and CI/CD setup.
JavaScript
53.7%
C#
45.1%
CSS
1.1%