AI-powered SaaS platform for PC hardware stores with intelligent customer support, inventory analytics, and PC build recommendations
TechStore AI is a specialized multi-tenant SaaS platform designed for PC hardware stores to modernize their operations with AI-powered tools. Each store gets their own isolated instance with intelligent customer support chatbots, inventory analytics, automated PC build compatibility checking, and smart product recommendations.
Built by JellyNode to serve the growing PC hardware retail market in Palestine, MENA region, and globally.
- π’ Multi-Tenancy: Each PC hardware store gets isolated database with complete data privacy
- π€ AI Shopping Assistant: Smart chatbot helps customers find compatible PC parts and builds
- π» Build Compatibility Checker: Automatic validation of PC component compatibility (CPU/Motherboard/RAM/PSU)
- π¦ Inventory Management: Real-time stock tracking with low-stock alerts and reorder suggestions
- π Sales Analytics: AI-powered insights on trending products, profit margins, and customer preferences
- π³ E-commerce Integration: Online store with shopping cart, payment processing (Stripe)
- π§ Custom PC Builder: Interactive tool for customers to build their dream PC with compatibility validation
- π Smart Product Search: Natural language search ("i5 gaming motherboard under $150")
- π± Customer Portal: Track orders, PC builds, warranties, and support tickets
- π― Price Monitoring: Track competitor prices and suggest optimal pricing strategies
- π Supplier Management: Track orders from suppliers, compare pricing, delivery times
- π Security First: Built with LLM security research findings and GDPR compliance
Development Team (3 Members):
- Tech Lead: Architecture, multi-tenancy, API development, DevOps
- Laravel Developer: Billing, authentication, admin dashboard, queues
- AI Engineer: LLM integration, RAG, document processing, AI security
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (Vue 3 SPA) β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Store Admin β β PC Builder β β Analytics β β
β β Dashboard β β AI Chat β β Inventory β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Customer β β Shopping β β Product β β
β β Portal β β Cart β β Catalog β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β REST API
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend (Laravel 11 API) β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Multi-Tenant β β AI Services β β E-commerce β β
β β Middleware β β (PC Builder) β β Engine β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Inventory β β Compatibilityβ β Billing β β
β β Management β β Checker β β (Stripe) β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Database Layer β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Central DB β β Store DBs β β pgvector β β
β β (platform) β β (isolated) β β (PC specs) β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Database-per-tenant approach for maximum security:
- Complete data isolation (GDPR compliant)
- Independent backups per tenant
- Easy migration to dedicated infrastructure
- Enhanced security for enterprise clients
- Framework: Laravel 11.x
- Database: PostgreSQL 16 with pgvector extension
- Cache/Queues: Redis
- Queue Monitoring: Laravel Horizon
- Authentication: Laravel Sanctum
- Multi-tenancy: stancl/tenancy
- Billing: Laravel Cashier (Stripe)
- Development: Ollama with Llama 3.1 / DeepSeek-Coder
- Production: OpenAI API, Anthropic Claude (BYOK support)
- Embeddings: Sentence Transformers
- Vector Search: pgvector
- Document Processing: PyPDF2, python-docx
- Framework: Vue 3 with Composition API
- Language: TypeScript
- State Management: Pinia
- Routing: Vue Router
- Build Tool: Vite
- UI Framework: Tailwind CSS
- Charts: ApexCharts / Chart.js
- Real-time: WebSockets (Laravel Reverb)
- Containerization: Docker + Docker Compose
- CI/CD: GitHub Actions
- Error Tracking: Sentry
- Deployment: Laravel Forge / Railway
- Backend: Pest PHP (unit + feature tests)
- Frontend: Vitest + Vue Test Utils
- E2E: Cypress / Playwright
As of February 13, 2026, the codebase currently includes:
- Laravel API foundation with Sanctum auth (
register,login,me,logout) - Multi-tenancy wiring with
stancl/tenancyand tenant provisioning endpoint - Central vs tenant migration split (
database/migrationsanddatabase/migrations/tenant) - Tenant readiness endpoint after onboarding
- Tenant seeders for baseline categories and suppliers
- Tenant CRUD APIs for categories, suppliers, and products
- Product filtering by
search,category_id,supplier_id, andstatus - Delete guards for categories/suppliers linked to products
- Feature test suite for auth, onboarding/readiness, categories, suppliers, products
- GitHub Actions CI workflow that runs tests on push/PR
Central API:
POST /api/v1/auth/registerPOST /api/v1/auth/loginGET /api/v1/auth/mePOST /api/v1/auth/logoutPOST /api/v1/tenantsGET /api/v1/tenants/{tenant}/readiness
Tenant API (tenant domain, authenticated):
GET|POST|PUT|PATCH|DELETE /api/v1/categories...GET|POST|PUT|PATCH|DELETE /api/v1/suppliers...GET|POST|PUT|PATCH|DELETE /api/v1/products...
- β Multi-tenancy implementation
- β Authentication system
- β Tenant provisioning
- β Local LLM setup (Ollama)
- β Vue 3 SPA foundation
- β Docker development environment
- β Stripe integration
- β Subscription plans (Starter, Pro, Enterprise)
- β Usage-based billing for AI
- β Webhook handling
- β Trial periods
- β Real-time chat interface
- β Intent classification
- β FAQ matching with vector search
- β Sentiment analysis
- β Human escalation detection
- β Response streaming
- β Document upload (PDF, DOCX, MD)
- β Advanced chunking strategies
- β Hybrid search (keyword + vector)
- β Citation generation
- β Auto-tagging with AI
- β Document summarization
- β Natural language to SQL
- β Automated insight generation
- β Trend detection
- β Statistical analysis
- β Interactive visualizations
- β Scheduled reports
- β API documentation (Scribe)
- β Webhook system
- β Rate limiting
- β JavaScript SDK
- β AI customization interface
- β Integration templates
- β Security audit (OWASP Top 10)
- β Performance optimization
- β 80%+ test coverage
- β CI/CD pipeline
- β Production deployment
- β Documentation
- Up to 500 products in catalog
- 3 staff accounts
- 1,000 AI customer interactions/month
- Basic inventory management
- Online store with shopping cart
- Email support
- Transaction fee: 2% + Stripe fees
- Up to 2,000 products
- 10 staff accounts
- 5,000 AI customer interactions/month
- Advanced inventory analytics
- PC Build Compatibility Checker
- Supplier management
- Price monitoring (5 competitors)
- Priority support
- Custom domain
- API access
- Transaction fee: 1% + Stripe fees
- Unlimited products
- Unlimited staff accounts
- Unlimited AI interactions
- Multi-location support
- Custom integrations (accounting software, suppliers)
- White-label options
- Dedicated account manager
- On-premise deployment option
- Custom SLA
- No transaction fees (only Stripe fees)
- Extra AI interactions: $15 per 1,000
- Additional storage: $10 per 10GB
- SMS notifications: $20/month (500 SMS)
- Advanced analytics dashboard: $50/month
- Multi-warehouse support: $100/month per warehouse
# Required
- PHP 8.2+
- Composer 2.x
- Node.js 20+
- PostgreSQL 16+
- Redis 7+
- Docker & Docker Compose
# For AI Features
- Ollama (local development)
- Python 3.11+ (optional microservice)- Clone the repository
git clone https://github.com/jellynode/multi-tenant-saas-boilerplate.git
cd multi-tenant-saas-boilerplate- Backend Setup
cd backend
cp .env.example .env
composer install
php artisan key:generate
php artisan migrate:install
php artisan tenants:migrate
php artisan db:seed- Install pgvector extension
# PostgreSQL shell
CREATE EXTENSION vector;- Frontend Setup
cd ../frontend
npm install
cp .env.example .env- Start Development Environment
# From project root
docker-compose up -d
# Backend
cd backend
php artisan serve
# Frontend
cd frontend
npm run dev- Setup Ollama (Local AI)
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull model
ollama pull llama3.1- Frontend: http://localhost:5173
- Backend API: http://localhost:8000/api
- API Docs: http://localhost:8000/docs
- Horizon: http://localhost:8000/horizon
Admin:
Email: admin@jellynode.com
Password: password
Demo Tenant:
Subdomain: demo
Email: demo@example.com
Password: password
multi-tenant-saas-boilerplate/
βββ backend/ # Laravel API
β βββ app/
β β βββ Models/
β β β βββ Tenant.php
β β β βββ User.php
β β β βββ Subscription.php
β β β βββ Conversation.php
β β β βββ Message.php
β β β βββ Document.php
β β β βββ Embedding.php
β β βββ Http/
β β β βββ Controllers/
β β β β βββ Admin/
β β β β βββ Tenant/
β β β β βββ AI/
β β β βββ Middleware/
β β β βββ TenantMiddleware.php
β β β βββ CheckSubscription.php
β β β βββ TrackAIUsage.php
β β βββ Services/
β β β βββ AI/
β β β β βββ LLMProviderInterface.php
β β β β βββ OpenAIProvider.php
β β β β βββ AnthropicProvider.php
β β β β βββ OllamaProvider.php
β β β β βββ EmbeddingService.php
β β β β βββ VectorSearchService.php
β β β β βββ RAGService.php
β β β βββ Tenancy/
β β β βββ DocumentProcessor.php
β β β βββ BillingService.php
β β β βββ AnalyticsService.php
β β βββ Jobs/
β β β βββ ProcessDocument.php
β β β βββ GenerateEmbeddings.php
β β β βββ ProvisionTenant.php
β β βββ Events/
β βββ database/
β β βββ migrations/
β β β βββ central/
β β β βββ tenant/
β β βββ seeders/
β βββ routes/
β β βββ api.php
β β βββ tenant.php
β β βββ admin.php
β βββ tests/
β
βββ frontend/ # Vue 3 SPA
β βββ src/
β β βββ components/
β β β βββ common/
β β β βββ chat/
β β β βββ documents/
β β β βββ analytics/
β β β βββ admin/
β β βββ views/
β β β βββ auth/
β β β βββ admin/
β β β βββ tenant/
β β β βββ billing/
β β βββ stores/
β β βββ services/
β β βββ router/
β β βββ types/
β βββ package.json
β
βββ ai-service/ # Optional Python microservice
β βββ app/
β β βββ services/
β β β βββ llm_provider.py
β β β βββ embeddings.py
β β β βββ document_processor.py
β β β βββ vector_store.py
β β βββ main.py
β βββ requirements.txt
β
βββ docker-compose.yml
-- Tenants
tenants
βββ id
βββ name
βββ subdomain
βββ custom_domain (nullable)
βββ database_name
βββ status (active, suspended, cancelled)
βββ trial_ends_at
βββ timestamps
-- Users (Central Authentication)
users
βββ id
βββ tenant_id (nullable for admin)
βββ name
βββ email
βββ password
βββ role (admin, tenant_owner, tenant_user)
βββ timestamps
-- Subscriptions
subscriptions
βββ id
βββ tenant_id
βββ plan_id
βββ stripe_subscription_id
βββ status
βββ trial_ends_at
βββ ends_at
βββ timestamps
-- Plans
plans
βββ id
βββ name (Starter, Professional, Enterprise)
βββ price
βββ ai_messages_limit
βββ storage_limit_mb
βββ features (JSON)
βββ timestamps
-- Usage Tracking
ai_usage
βββ id
βββ tenant_id
βββ user_id
βββ tokens_used
βββ cost
βββ model_used
βββ created_at-- Products (PC Hardware Catalog)
products
βββ id
βββ sku
βββ name
βββ category (CPU, GPU, Motherboard, RAM, Storage, PSU, Case, Cooling)
βββ brand
βββ price
βββ cost_price
βββ stock_quantity
βββ low_stock_threshold
βββ specifications (JSON - detailed specs)
βββ images (JSON array)
βββ compatibility_data (JSON - socket type, form factor, wattage, etc.)
βββ supplier_id
βββ status (active, discontinued, out_of_stock)
βββ timestamps
-- Product Specifications (for AI matching)
product_specs
βββ id
βββ product_id
βββ spec_embedding (vector(1536))
βββ spec_type (cpu_socket, ram_type, motherboard_form_factor, etc.)
βββ spec_value
βββ timestamps
-- Customers
customers
βββ id
βββ name
βββ email
βββ phone
βββ address
βββ customer_type (walk_in, online, wholesale)
βββ total_purchases
βββ loyalty_points
βββ timestamps
-- Orders
orders
βββ id
βββ customer_id
βββ order_number
βββ order_type (online, in_store, custom_build)
βββ status (pending, processing, completed, cancelled)
βββ subtotal
βββ tax
βββ discount
βββ total
βββ payment_status
βββ payment_method
βββ notes
βββ timestamps
-- Order Items
order_items
βββ id
βββ order_id
βββ product_id
βββ quantity
βββ unit_price
βββ discount
βββ total
βββ timestamps
-- PC Builds (Custom Builds Created by Customers)
pc_builds
βββ id
βββ customer_id
βββ build_name
βββ purpose (gaming, workstation, office, budget)
βββ budget_max
βββ status (draft, compatibility_checked, quoted, ordered)
βββ total_price
βββ compatibility_issues (JSON)
βββ ai_recommendations (JSON)
βββ timestamps
-- Build Components
build_components
βββ id
βββ pc_build_id
βββ product_id
βββ component_type (CPU, GPU, etc.)
βββ quantity
βββ is_compatible (boolean)
βββ timestamps
-- Conversations (AI Customer Support)
conversations
βββ id
βββ customer_id (nullable for anonymous)
βββ session_id
βββ conversation_type (product_inquiry, build_help, order_support)
βββ status (active, resolved)
βββ ai_handled (boolean)
βββ timestamps
-- Messages
messages
βββ id
βββ conversation_id
βββ role (customer, assistant, staff)
βββ content
βββ metadata (JSON - product suggestions, compatibility checks)
βββ timestamps
-- Inventory Transactions
inventory_transactions
βββ id
βββ product_id
βββ type (purchase, sale, return, adjustment, damage)
βββ quantity_change
βββ quantity_after
βββ cost_per_unit
βββ reference_id (order_id or supplier_order_id)
βββ notes
βββ created_by
βββ timestamps
-- Suppliers
suppliers
βββ id
βββ name
βββ contact_person
βββ email
βββ phone
βββ address
βββ payment_terms
βββ average_delivery_days
βββ rating
βββ timestamps
-- Supplier Orders
supplier_orders
βββ id
βββ supplier_id
βββ order_number
βββ order_date
βββ expected_delivery
βββ actual_delivery
βββ status (pending, shipped, received, cancelled)
βββ total_amount
βββ payment_status
βββ timestamps
-- Price History (for monitoring)
price_history
βββ id
βββ product_id
βββ price
βββ source (our_store, competitor_1, competitor_2, etc.)
βββ recorded_at
βββ timestamps
-- Analytics Events (for AI insights)
analytics_events
βββ id
βββ event_type (product_view, add_to_cart, purchase, search)
βββ product_id
βββ customer_id
βββ session_id
βββ metadata (JSON)
βββ timestampsCapabilities:
- Natural Language Product Search: "show me gaming motherboards under 500 shekels"
- PC Build Recommendations: Suggests complete builds based on budget and use case
- Compatibility Validation: Automatically checks CPU/Motherboard socket, RAM type, PSU wattage
- Part Alternatives: Suggests cheaper or better alternatives when products are out of stock
- Customer Intent Recognition: Understands if customer wants gaming, workstation, or budget build
- Multi-turn Conversations: Remembers build preferences throughout conversation
- Price Comparison: Compares prices across different brands/models
Technical Implementation:
// Example: AI-powered product recommendation
$pcBuilderService = app(PCBuilderService::class);
$recommendations = $pcBuilderService->suggestBuild([
'budget' => 5000, // ILS
'purpose' => 'gaming',
'preferences' => [
'brand_preference' => ['AMD', 'NVIDIA'],
'rgb_lighting' => true,
'future_upgrade' => true
]
]);
// Returns compatible components with compatibility scoreCapabilities:
- CPU/Motherboard Socket Matching: Validates socket compatibility (AM5, LGA1700, etc.)
- RAM Compatibility: Checks DDR4/DDR5, speed, capacity limits
- PSU Wattage Calculation: Calculates total power draw + 20% headroom
- Case/Motherboard Form Factor: Validates ATX, mATX, ITX compatibility
- Cooling Clearance: Checks CPU cooler height vs case clearance
- M.2 Slot Availability: Matches storage to available M.2 slots
- BIOS Update Detection: Warns if motherboard needs BIOS update for CPU
Technical Implementation:
// Example: Compatibility validation
$compatibilityService = app(CompatibilityService::class);
$result = $compatibilityService->validateBuild([
'cpu' => Product::find($cpuId),
'motherboard' => Product::find($moboId),
'ram' => Product::find($ramId),
'gpu' => Product::find($gpuId),
'psu' => Product::find($psuId),
'case' => Product::find($caseId),
]);
// Returns:
// {
// "compatible": false,
// "issues": [
// {
// "severity": "critical",
// "component": "PSU",
// "message": "550W PSU insufficient. System requires ~620W. Recommend 750W.",
// "suggestion_ids": [123, 456] // Alternative PSU products
// }
// ]
// }Capabilities:
- Trending Products Detection: Identifies products with unusual sales spikes
- Seasonal Pattern Recognition: Predicts demand for GPU/RAM during gaming seasons
- Profit Margin Optimization: Suggests pricing adjustments based on competition
- Inventory Forecasting: Predicts when to reorder based on sales velocity
- Customer Segmentation: Identifies gamers, professionals, budget buyers
- Bundle Recommendations: Suggests product bundles that frequently sell together
- Dead Stock Identification: Flags products not selling, suggests discounts
Technical Implementation:
// Example: Sales trend analysis
$analyticsService = app(AnalyticsService::class);
$insights = $analyticsService->analyzeSalesTrends([
'period' => 'last_30_days',
'category' => 'GPU',
'include_predictions' => true
]);
// Returns:
// {
// "trends": [
// {
// "product_id": 789,
// "product_name": "RTX 4060 Ti",
// "sales_velocity": "+45%",
// "insight": "Strong demand surge. Consider price increase by 5-8%.",
// "predicted_stock_out": "2026-02-20",
// "reorder_suggestion": "Order 15 units now for delivery by Feb 18"
// }
// ]
// }Capabilities:
- Automated Reorder Alerts: AI calculates optimal reorder point based on sales velocity
- Supplier Performance Scoring: Ranks suppliers by delivery time, quality, pricing
- Price Monitoring: Tracks competitor prices and alerts on opportunities
- Slow-Moving Stock Detection: Identifies products sitting too long
- Seasonal Adjustment: Adjusts stock levels before holiday seasons (Christmas, Eid, school season)
Capabilities:
- Order Status Tracking: Answers "where is my order?"
- Warranty Inquiries: Looks up warranty info for purchased products
- Return/Exchange Processing: Guides through return process
- Technical Support: Answers common questions (how to install RAM, troubleshoot boot issues)
- Product Comparisons: Explains differences between similar products
- Escalation to Human: Transfers complex issues to staff
// Automatically extract and structure specs from product descriptions
$specExtractor = app(SpecificationExtractorService::class);
$specs = $specExtractor->extractFromDescription(
"Intel Core i7-13700K, 16 cores, 24 threads, LGA1700, 5.4GHz boost"
);
// Stores structured data:
// socket: LGA1700
// cores: 16
// threads: 24
// base_clock: 3.4GHz
// boost_clock: 5.4GHz
// tdp: 125W// Rule-based validation with AI fallback
compatibility_rules:
- CPU socket must match motherboard socket
- RAM type (DDR4/DDR5) must match motherboard support
- Total wattage + 20% < PSU wattage
- GPU length < case max GPU length
- CPU cooler height < case max CPU cooler height
- Motherboard form factor compatible with case// Track competitor pricing automatically
$priceMonitor = app(PriceMonitorService::class);
$priceMonitor->trackCompetitors([
'product_sku' => 'RTX4060TI-8GB',
'competitors' => [
'competitor_a_url' => 'https://...',
'competitor_b_url' => 'https://...'
]
]);
// Alerts when competitor prices drop below yours// Pre-configured builds for common use cases
build_templates:
- Budget Gaming PC (2000-3000 ILS)
- Mid-Range Gaming PC (4000-6000 ILS)
- High-End Gaming PC (8000-12000 ILS)
- Workstation for Content Creation
- Office PC
- Student/Home PC
// AI customizes based on current stock and pricesBased on LLM security research findings:
- Prompt Injection Detection: Pattern matching for malicious prompts
- Input Validation: Sanitize user inputs before LLM processing
- Rate Limiting: Per-tenant and per-user limits
- PII Detection: Automatic redaction of sensitive information
- Content Filtering: Remove code/commands from AI responses
- Output Sanitization: Escape HTML/JavaScript in responses
- Confidence Scoring: Flag low-confidence responses
- Human Review: Audit trail for sensitive interactions
- Database Isolation: Complete tenant data separation
- API Authentication: Sanctum tokens with expiration
- CORS Protection: Strict origin policies
- XSS Prevention: Content Security Policy headers
- SQL Injection: Eloquent ORM with prepared statements
- Track AI message count per tenant
- Monitor token usage for cost calculation
- Storage usage tracking
- API call monitoring
Trial β Active β Past Due β Grace Period β Cancelled
// Middleware: CheckSubscription
if ($tenant->hasExceededAILimit()) {
return response()->json([
'error' => 'AI message limit exceeded. Please upgrade your plan.'
], 429);
}# Register Store
POST /api/register
Content-Type: application/json
{
"store_name": "Gaza Tech Store",
"owner_name": "Ahmed Hassan",
"email": "ahmed@gazatech.ps",
"phone": "+970-59-1234567",
"password": "secure_password"
}
# Login
POST /api/login
{
"email": "ahmed@gazatech.ps",
"password": "secure_password"
}
# Response
{
"token": "1|abc123...",
"store": {
"id": 1,
"name": "Gaza Tech Store",
"subdomain": "gazatech"
},
"user": { ... }
}# Add Product
POST /api/store/products
Authorization: Bearer {token}
Content-Type: application/json
{
"sku": "CPU-I7-13700K",
"name": "Intel Core i7-13700K",
"category": "CPU",
"brand": "Intel",
"price": 1899.00,
"cost_price": 1650.00,
"stock_quantity": 15,
"specifications": {
"socket": "LGA1700",
"cores": 16,
"threads": 24,
"base_clock": "3.4GHz",
"boost_clock": "5.4GHz",
"tdp": "125W",
"integrated_graphics": "Intel UHD Graphics 770"
}
}
# Search Products (Natural Language)
GET /api/store/products/search?q=gaming motherboard under 500
Authorization: Bearer {token}
# Response
{
"products": [
{
"id": 234,
"name": "MSI B650 Gaming Plus",
"price": 450.00,
"stock": 8,
"relevance_score": 0.94,
"ai_match_reason": "AM5 socket, gaming-focused features, within budget"
}
]
}# Check Build Compatibility
POST /api/store/builds/validate
Authorization: Bearer {token}
Content-Type: application/json
{
"components": {
"cpu": 234, // Product IDs
"motherboard": 456,
"ram": [789, 790], // 2x RAM sticks
"gpu": 123,
"storage": [567],
"psu": 890,
"case": 345,
"cooling": 678
}
}
# Response
{
"compatible": false,
"total_wattage": 620,
"estimated_price": 5450.00,
"issues": [
{
"severity": "critical",
"component": "PSU",
"current_product": "Corsair CV550 - 550W",
"issue": "Insufficient wattage. System requires ~620W (517W + 20% headroom).",
"recommendations": [
{
"product_id": 891,
"name": "Corsair RM750x - 750W",
"price": 425.00,
"price_difference": +75.00
}
]
},
{
"severity": "warning",
"component": "CPU Cooler",
"issue": "Cooler height (165mm) close to case limit (170mm). Verify clearance.",
"recommendation": "Double-check physical fit before purchase"
}
],
"optimizations": [
{
"type": "cost_saving",
"message": "RAM: Found similar 32GB kit for 50 ILS less",
"alternative_product_id": 791
}
],
"build_score": 7.5,
"ai_comment": "Solid mid-range gaming build. PSU needs upgrade for safe operation."
}# Chat with AI Assistant
POST /api/store/chat
Authorization: Bearer {token}
Content-Type: application/json
{
"message": "I need a gaming PC for 5000 shekels, I play Fortnite and Valorant",
"session_id": "sess_abc123",
"customer_id": 456 // optional
}
# Response
{
"message": {
"role": "assistant",
"content": "For 5000 ILS and those games, I recommend a build with RTX 4060 and Ryzen 5 7600. Here's what I suggest:",
"suggested_build": {
"components": [
{
"type": "CPU",
"product_id": 123,
"name": "AMD Ryzen 5 7600",
"price": 850
},
{
"type": "GPU",
"product_id": 234,
"name": "MSI RTX 4060 Gaming X",
"price": 1450
}
// ... more components
],
"total_price": 4950,
"expected_performance": "Fortnite: 144+ FPS on high settings, Valorant: 200+ FPS"
},
"next_questions": [
"Would you like me to check this build's compatibility?",
"Need a monitor recommendation too?",
"Want to see cheaper alternatives?"
]
}
}# Get Sales Insights
GET /api/store/analytics/insights?period=last_30_days&category=GPU
Authorization: Bearer {token}
# Response
{
"insights": [
{
"type": "trending_product",
"product_id": 789,
"product_name": "RTX 4060 Ti 8GB",
"metric": "sales_velocity",
"value": "+45%",
"insight": "Demand surge detected. Consider ordering 15 more units.",
"action_recommended": "reorder",
"urgency": "high",
"predicted_stock_out": "2026-02-20"
},
{
"type": "price_opportunity",
"product_id": 456,
"product_name": "Ryzen 7 7800X3D",
"insight": "Competitor A lowered price to 1650 ILS (you: 1799 ILS). Lost 3 sales this week.",
"action_recommended": "price_adjustment",
"suggested_price": 1699.00
},
{
"type": "slow_mover",
"product_id": 234,
"product_name": "Intel i5-12400F",
"days_in_stock": 67,
"insight": "Product hasn't sold in 2 months. Newer i5-13400F priced similarly.",
"action_recommended": "discount_or_clearance",
"suggested_discount": "15%"
}
],
"summary": {
"total_revenue": 45670.00,
"total_orders": 87,
"average_order_value": 525.00,
"top_category": "GPU",
"profit_margin": "18.5%"
}
}# Get Low Stock Alert
GET /api/store/inventory/alerts
Authorization: Bearer {token}
# Response
{
"low_stock_items": [
{
"product_id": 123,
"name": "Corsair Vengeance RGB 32GB",
"current_stock": 2,
"threshold": 5,
"sales_last_7_days": 4,
"estimated_days_until_stockout": 3,
"reorder_recommendation": {
"quantity": 10,
"preferred_supplier_id": 5,
"estimated_cost": 1200.00,
"estimated_delivery": "2026-02-15"
}
}
]
}Full API documentation available at /docs when running locally.
# Backend (Pest PHP)
cd backend
php artisan test
php artisan test --coverage
# Frontend (Vitest)
cd frontend
npm run test
npm run test:coverage
# E2E (Cypress)
npm run test:e2e- Backend: 80%+ coverage
- Critical paths: 100% coverage
- AI services: Integration tests with mocked LLM responses
// tests/Feature/ConversationTest.php
test('customer support bot responds with citation', function () {
$tenant = Tenant::factory()->create();
$user = User::factory()->for($tenant)->create();
$document = Document::factory()->for($tenant)->create();
// Create embeddings
GenerateEmbeddings::dispatch($document);
$response = $this->actingAs($user)
->postJson("/api/conversations", [
'message' => 'How do I reset password?',
'type' => 'customer_support'
]);
$response->assertStatus(200)
->assertJsonStructure([
'message' => ['content', 'citations']
]);
expect($response['message']['citations'])->toHaveCount(1);
});# Backend (.env)
APP_NAME="Multi-Tenant SaaS"
APP_ENV=production
APP_KEY=base64:...
APP_DEBUG=false
APP_URL=https://api.yourdomain.com
# Database
DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=saas_central
DB_USERNAME=postgres
DB_PASSWORD=...
# Redis
REDIS_HOST=redis
REDIS_PASSWORD=...
REDIS_PORT=6379
# Stripe
STRIPE_KEY=pk_live_...
STRIPE_SECRET=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
# AI Services
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
OLLAMA_HOST=http://ollama:11434
# Frontend (.env)
VITE_API_URL=https://api.yourdomain.com
VITE_WS_URL=wss://api.yourdomain.com# Build images
docker-compose -f docker-compose.prod.yml build
# Deploy
docker-compose -f docker-compose.prod.yml up -d
# Run migrations
docker-compose exec backend php artisan migrate --force- Connect your server
- Create new site:
api.yourdomain.com - Deploy repository
- Configure environment variables
- Enable queue worker (Horizon)
- Setup SSL certificate
- Configure deployment script
# .github/workflows/deploy.yml
name: Deploy to Production
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests
run: |
composer install
php artisan test
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- name: Deploy to Forge
run: |
curl -X POST ${{ secrets.FORGE_DEPLOY_WEBHOOK }}Primary (Months 1-6):
- Palestine (Gaza, West Bank, Jerusalem): 50+ PC hardware stores seeking modernization
- MENA Region: Small to medium PC retailers in Jordan, Egypt, Lebanon
- Online PC Stores: Businesses wanting to add AI-powered customer support
- Tech Repair Shops: Shops wanting to expand into PC parts sales
Secondary (Months 6-12):
- Gulf States: UAE, Saudi Arabia, Kuwait premium PC stores
- European Market: Independent PC retailers needing inventory management
- Asian Markets: PC cafes expanding to retail operations
Palestine Market:
- Estimated 200+ PC hardware stores across Gaza, West Bank, Jerusalem
- Most using manual systems (Excel, notebooks)
- Growing demand for gaming PCs among youth (25-30% of market)
- Cryptocurrency mining creating demand spikes
- Average store size: 300-1000 products
Pain Points We Solve:
- β Manual inventory tracking (Excel chaos)
- β No online presence or limited e-commerce
- β Customer confusion about PC compatibility
- β Lost sales from out-of-stock items
- β No data on what to reorder
- β Price competition without visibility
- β Staff training on product knowledge
Our Solution:
- β Automated inventory with AI reorder suggestions
- β Ready-to-use online store
- β AI assistant educates customers 24/7
- β Compatibility checker prevents returns
- β Sales analytics show what's trending
- β Competitor price monitoring
- β Staff can focus on service, not data entry
Phase 1: Local Beta (Month 3)
- Partner with 5 Gaza PC stores for pilot program
- Offer 3 months free + 50% lifetime discount
- Intensive support and training
- Collect testimonials and case studies
- Key partners: Gaza Tech markets (Al-Zawiya, Al-Rimal areas)
Phase 2: Palestine Expansion (Months 4-6)
- Launch in West Bank (Ramallah, Nablus, Hebron)
- Partner with PC store associations
- Participate in Palestine IT exhibitions
- Content marketing in Arabic
- Facebook/Instagram ads targeting store owners
- WhatsApp Business integration for support
Phase 3: MENA Growth (Months 7-12)
- Expand to Jordan (Amman tech markets)
- Target Egypt (Maadi, Nasr City computer shops)
- Arabic-first marketing materials
- Local payment methods (Fawry, CashU)
- Partnership with PC parts distributors
| Timeline | MRR Target | Stores | AVG/Store | Strategy |
|---|---|---|---|---|
| Month 3 | $400 | 5 Gaza stores | $79 (Starter) | Beta validation |
| Month 6 | $2,370 | 15 Starter, 5 Pro | - | Palestine market |
| Month 9 | $6,000 | 30 Starter, 15 Pro, 2 Enterprise | - | MENA expansion |
| Month 12 | $15,000 | 60 Starter, 35 Pro, 5 Enterprise | - | Regional leader |
Year 1 Goal: $15,000 MRR (180K annual recurring)
vs. International SaaS (Shopify, WooCommerce):
- β PC hardware specialization (compatibility checker)
- β Arabic-first interface and support
- β Local payment methods
- β Understanding of MENA market dynamics
- β Affordable pricing for local market
- β WhatsApp integration (primary communication tool)
vs. Local Competitors:
- β AI-powered features (first in region)
- β Modern tech stack (Laravel 11, Vue 3)
- β Security-first architecture
- β Built by developers who understand the market
- β Gaza-based company supporting local economy
Digital:
- Facebook Groups (PC Gaming Palestine, Tech Traders)
- Instagram (before/after store transformation)
- YouTube tutorials in Arabic
- WhatsApp Business broadcasts
- Google My Business for stores
Offline:
- Palestine IT conferences and exhibitions
- PC store association meetings
- Direct visits to stores (Gaza, Ramallah)
- Referral program (get 1 month free per referral)
Content Strategy:
- Blog: "How to modernize your PC store"
- Case studies: "How Gaza Tech Store increased sales 40%"
- Video tutorials: Setting up products, using AI assistant
- Comparison guides: Manual vs. TechStore AI
- Success stories from early adopters
PC Parts Distributors:
- Integrate with suppliers for auto-ordering
- Real-time stock availability from distributors
- Negotiate volume discounts for platform users
Payment Processors:
- Palestine Monetary Authority partnerships
- Local banks (Bank of Palestine, Cairo Amman Bank)
- PayPal alternatives (Payoneer for MENA)
Logistics:
- Partner with local delivery services
- Integration with Aramex, DHL for international shipping
- Same-day delivery in major cities
Introductory Pricing (First 100 Stores):
- Starter: $49/month (instead of $79)
- Professional: $149/month (instead of $199)
- 3-month free trial
- No setup fees
- Free training and onboarding
Value Proposition:
"Pay $49/month, save 10+ hours/week on inventory management.
That's $1.50/hour to automate your entire store operations."
Risk 1: Store owners resistant to technology
- Mitigation: Free on-site setup and training
- Mitigation: WhatsApp video support in Arabic
- Mitigation: Success stories from respected local stores
Risk 2: Internet connectivity in Gaza
- Mitigation: Offline mode for critical operations
- Mitigation: Mobile-first design (works on slow connections)
- Mitigation: Data syncing when connection available
Risk 3: Payment processing challenges
- Mitigation: Cash collection option through local agent
- Mitigation: Bank transfer payments
- Mitigation: Flexible payment terms for established stores
Risk 4: Currency fluctuations (ILS/USD)
- Mitigation: Pricing in local currency (ILS, JOD, EGP)
- Mitigation: Annual contracts lock in rates
- Mitigation: Automatic adjustment clauses for major swings
This project demonstrates comprehensive technical and business skills:
β Enterprise Architecture: Multi-tenant SaaS with database-per-tenant isolation β AI/ML Integration: RAG, LLM orchestration, vector similarity search β Domain Expertise: PC hardware compatibility algorithms, component matching β Full-Stack Development: Laravel 11 API + Vue 3 TypeScript SPA β E-commerce Systems: Shopping cart, payment processing, inventory management β Real-time Features: WebSockets for live chat, stock updates β Security Research Application: LLM security findings in production (from your Master's thesis) β DevOps: Docker, CI/CD, monitoring, deployment automation β Database Design: Complex relational schema with vector embeddings β API Design: RESTful APIs with comprehensive documentation
β
Product Management: From idea to MVP in 8 weeks
β
Team Leadership: Managing 3-person development team effectively
β
Market Research: Understanding PC retail pain points in MENA region
β
GTM Strategy: Multi-phase go-to-market for Palestine β MENA β Global
β
Pricing Strategy: Competitive analysis and value-based pricing
β
Customer Development: Beta program design, feedback loops
β Applied AI Research: Bridging academic LLM security research with production use β Novel Use Case: First AI-powered PC compatibility checker in Arabic β Open Source Contribution: Releasing compatibility rules database for community
For Senior Developer Roles:
- "Built multi-tenant SaaS serving 200+ stores in first year"
- "Implemented AI shopping assistant reducing customer support costs 60%"
- "Architected compatibility algorithm processing 10K+ component combinations"
For Tech Lead Roles:
- "Led 3-person team delivering complex SaaS in 8 weeks"
- "Designed scalable architecture supporting 100+ concurrent stores"
- "Made critical technical decisions (SPA vs Livewire, pgvector vs Pinecone)"
For Master's Thesis:
- "Applied LLM security research in production e-commerce system"
- "Evaluated security of AI-generated product recommendations"
- "Published PC hardware compatibility dataset for research community"
This project opens several research paths:
- LLM Security in E-commerce: How to prevent prompt injection in product recommendations
- Domain-Specific RAG: Optimizing retrieval for structured product data
- Compatibility Algorithm Validation: Comparing rule-based vs LLM-based component matching
- Arabic NLP for Tech: Challenges in processing Arabic PC hardware terminology
- "AI-Powered PC Build Recommendations: A Hybrid Approach"
- "Securing LLM Applications in E-commerce: Lessons from Production"
- "Multi-Tenant Architecture for Resource-Constrained Environments"
- "Arabic NLP Challenges in Technical Domain: PC Hardware Case Study"
- PC Hardware Compatibility Rules Database
- Laravel Multi-Tenant Boilerplate
- Arabic Tech Terminology Dictionary
- Vector Search Optimization Techniques
- Laravel Spark - SaaS scaffolding
- Tenancy for Laravel - Multi-tenancy package
- LangChain - LLM framework inspiration
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- PSR-12 for PHP
- ESLint + Prettier for TypeScript/Vue
- Conventional Commits for messages
- 80%+ test coverage for new features
This project is licensed under the MIT License - see LICENSE file for details.
- JellyNode Team: For supporting this initiative
- Gaza Tech Community: For inspiration and resilience
- Laravel Community: For excellent ecosystem
- Open Source Contributors: Standing on giants' shoulders
JellyNode Company
- Website: https://jellynode.com
- Email: contact@jellynode.com
- Location: Gaza, Palestine
Project Maintainer
- Tech Lead: Mostafa
- GitHub: @mostafa-jellynode
- LinkedIn: Connect with Mostafa
- β Multi-tenant infrastructure
- β Product catalog management
- β AI shopping assistant with PC build recommendations
- β Compatibility checker (CPU/Mobo/RAM/PSU)
- β Basic inventory management
- β Online store with shopping cart
- β Subscription billing (Stripe)
- β Sales analytics dashboard
- Arabic Language Support (RTL interface)
- WhatsApp Integration (order notifications, customer support)
- Local Payment Methods (bank transfer, cash on delivery)
- ILS Currency as primary with multi-currency support
- Offline Mode for Gaza's internet challenges
- SMS Notifications for order updates
- Mobile App (React Native) for on-the-go management
- Barcode Scanner integration via mobile camera
- Supplier Auto-Ordering based on low stock
- Gaming PC Templates (Budget/Mid/High-end builds)
- Workstation Builder (for content creators, CAD users)
- Multi-Location Support (stores with multiple branches)
- Staff Performance Tracking (sales per employee)
- Customer Loyalty Program (points, rewards)
- Advanced Price Intelligence (10+ competitor tracking)
- Social Media Integration (auto-post new products to Facebook)
- Email Marketing (newsletters, promotions)
- Multi-Language (Arabic, English, French)
- Regional Payment Gateways (Fawry, PayTabs, HyperPay)
- Currency Auto-Conversion (ILS, JOD, EGP, SAR, AED)
- Distributor Integration (direct API to major suppliers)
- Crypto Mining Calculator (ROI for mining rigs)
- Repair Service Module (track repairs, warranties)
- B2B Wholesale Portal (bulk orders for internet cafes)
- Marketplace Mode (multiple vendors on one platform)
- Custom Build Request System (customers submit specs)
- Video Consultation (live chat with video for support)
- Advanced Forecasting (predict demand 3 months ahead)
- Accounting Software Integration (QuickBooks, Xero)
- ERP Integration for large retailers
- Franchise Management (multi-store chains)
- Trade-In System (buy used components)
- Extended Warranty Management
- AI Price Optimization (dynamic pricing based on demand)
- Voice Assistant (order by voice, inventory checks)
- AR Product Visualization (see PC case in 3D before buying)
- Benchmark Integration (show real FPS data for builds)
- Community Forum (customers share builds, reviews)
- Affiliate Program (tech influencers promote stores)
- Custom GPU Mining Firmware downloads
- PC Building Guide Generator (PDF manuals for custom builds)
# Clone and install
git clone https://github.com/jellynode/techstore-ai.git
cd techstore-ai
docker-compose up -d
# Setup backend
cd backend && composer install && php artisan migrate --seed
# This will create:
# - Demo PC hardware store (subdomain: demo)
# - Sample products (CPUs, GPUs, Motherboards, RAM, etc.)
# - Compatibility rules database
# - PC build templates
# Setup frontend
cd ../frontend && npm install && npm run dev
# Setup AI (Ollama with hardware knowledge)
ollama pull llama3.1
# Optional: Import PC hardware specs knowledge base
php artisan import:pc-specs-knowledge
# Visit app
open http://localhost:5173Built with β€οΈ in Gaza, Palestine
"Empowering Palestinian PC hardware stores with world-class AI technology"
Development Status: Backend Foundation Implemented (In Active Development)
Next Milestone: Billing/Subscriptions + Order/Checkout APIs
Target Launch: April 2026 (Beta in Palestine)
Last Updated: February 13, 2026
JellyNode Company
- Website: https://jellynode.com
- Email: contact@jellynode.com
- Location: Gaza, Palestine
- Phone: +970-59-XXXXXXX
Project Lead
- Tech Lead: Mostafa
- Role: Full-Stack Developer & Data Science Researcher
- Specialization: Laravel, AI/ML, Cybersecurity
- GitHub: @mostafa-jellynode
- LinkedIn: Connect with Mostafa
Want a Demo?
- Schedule a call: calendly.com/jellynode
- WhatsApp: +970-XX-XXXXXXX (preferred for Palestine)
- Email: demos@jellynode.com
For PC Store Owners: If you own a PC hardware store in Palestine and want to be part of our beta program (3 months free + 50% lifetime discount), contact us directly!
Gaza has a vibrant tech community despite challenges. This project represents:
β¨ Innovation from Gaza: Proving world-class SaaS can be built anywhere
πͺ Economic Empowerment: Creating jobs and supporting local businesses
π Knowledge Transfer: Bridging academic research (LLM security) with real business value
π Global Ambition: Starting local, scaling to MENA and beyond
π€ Community Impact: Helping 200+ PC stores modernize and compete
This isn't just a SaaS productβit's a statement that Palestinian developers can build products that compete globally while serving their local community first.
To Our Beta Partners (Coming Soon):
- First 5 Gaza PC stores who believe in our vision
- Palestinian tech community for support and feedback
- UCAS students who will help test and validate features
To The Tech Community:
- Laravel community for incredible ecosystem
- Vue.js team for modern frontend tools
- Open source AI tools (Ollama, LangChain)
- Palestinian developers pioneering despite challenges
We welcome contributions, especially from:
- Palestinian developers
- MENA region developers familiar with local market
- Anyone passionate about AI + e-commerce
- Arabic-speaking developers for localization
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see LICENSE file for details.
Special Clause: Free license for all PC hardware stores in Palestine π΅πΈ