GigGatek

Transform your shopping experience with our advanced ecommerce platform. Discover refurbished computer hardware and enjoy flexible rent-to-own options tailored to your needs. Shop smart and save with GigGatek today!

Installation

Installing for Claude Desktop

Manual Configuration Required

This MCP server requires manual configuration. Run the command below to open your configuration file:

npx mcpbar@latest edit -c claude

This will open your configuration file where you can add the GigGatek MCP server manually.

GigGatek Advanced Ecommerce Platform - Development Notes

Overview

GigGatek is an advanced ecommerce site specializing in refurbished computer hardware, featuring direct sales and a unique "rent-to-own" service. This document tracks the development progress and deployment plan.

Technology Stack

  • Frontend: HTML, CSS, JavaScript, PHP (for server-side includes and future backend integration)
  • Backend: Python (Flask)
  • Database: MySQL
  • Server OS: Ubuntu 22.04 (Target Deployment)
  • Web Server: Apache2 (Target Deployment)

Deployment Plan (Target: [email protected])

  1. Database Setup (Remote):
    • Ensure MySQL is running on giggahost.com.
    • Connect to MySQL (mysql -u root -pteamrsi12teamrsi12).
    • Execute SQL scripts to create the giggatek database and required tables (products, customers, orders, order_items, rentals, rental_payments).
  2. Application Code Deployment:
    • Transfer the giggatek/frontend and giggatek/backend directories to the appropriate location on the server (e.g., /var/www/giggatek.com).
    • Ensure the backend virtual environment (venv) is recreated or transferred and dependencies are installed on the server.
    • Update backend DB_CONFIG in app.py if the remote MySQL server details differ from localhost.
  3. Web Server Configuration (Apache2):
    • Configure an Apache2 virtual host for giggatek.com pointing to the giggatek/frontend directory (or a build output if applicable).
    • Set up Apache to serve the Python backend, likely using mod_wsgi or a reverse proxy configuration (e.g., proxying requests for /api/* to a Gunicorn/uWSGI process running the Flask app).
    • Ensure necessary Apache modules (proxy, proxy_http, wsgi, etc.) are enabled.
    • Install and configure SSL/TLS certificates (e.g., Let's Encrypt) for HTTPS.
    • Set correct file permissions for the web server user.
  4. Final Steps:
    • Restart Apache2 (sudo systemctl restart apache2).
    • Test the live site thoroughly.

Current Development Status (As of 2025-04-12)

Frontend

  • Basic project structure created (frontend/, backend/ directories).
  • Created the homepage with product listings (frontend/index.php), styled with CSS (frontend/css/style.css).
  • Generated and implemented a tech-themed logo (frontend/img/logo.png) in the site header.
  • Implemented detailed product page with specifications, condition ratings, and images (frontend/product.php).
  • Added interactive rent-to-own calculator with monthly payment options for different terms.
  • Created user authentication pages (login and registration) with form validation.
  • Fixed security issue in the escapeHTML function to prevent XSS vulnerabilities.
  • Generated a placeholder image for products without images.
  • Enhanced CSS with Google Font (Roboto), header gradient, and animations for product items.

Backend

  • Basic Python Flask backend (backend/app.py) setup with a virtual environment (venv) and dependencies.
  • Implemented database connection logic and API endpoints:
    • /api/products endpoint fetches products from the database
    • /api/products/<id> endpoint for single product detail
  • Created comprehensive admin panel structure using Flask Blueprints:
    • Dashboard for metrics and KPIs
    • Product management with CRUD operations
    • Order management and tracking
  • Enhanced admin UI with advanced styling, modals, and client-side functionality.
  • Added placeholder data for local development and testing.

API Development

  • Implemented RESTful API for products
  • Backend properly handles JSON fields (specifications, image_urls)
  • Added error handling for database operations

Database Integration

  • Set up connection to MySQL database
  • Implemented JSON parsing for complex product fields
  • Added protection against SQL injection with parameterized queries

Next Steps & Suggested Improvements

  1. End-to-End Testing:

    • Implement comprehensive end-to-end testing for all user flows.
    • Test the complete user journey from registration to checkout.
    • Verify rental contract creation and management flow.
  2. Performance Optimization:

    • Implement frontend asset optimization (minification, bundling).
    • Optimize database queries for better performance.
    • Implement caching strategies for frequently accessed data.
    • Optimize image loading and processing.
  3. Security Audit:

    • Review authentication and authorization mechanisms.
    • Audit data validation and sanitization.
    • Review payment processing security.
    • Implement additional security headers.
    • Review CSRF protection implementation.
  4. Deployment Preparation:

    • Finalize Apache2 configuration for production.
    • Prepare database migration scripts.
    • Set up monitoring and logging.
    • Configure backup and recovery procedures.
    • Implement CI/CD pipeline for automated deployment.
  5. Documentation:

    • Update API documentation with all endpoints.
    • Create comprehensive user guide.
    • Document deployment and maintenance procedures.
    • Create developer onboarding documentation.

Database Schema (Simplified)

CREATE TABLE `products` (
  `product_id` int PRIMARY KEY AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `description` text,
  `category` varchar(50) NOT NULL,
  `specifications` json,
  `condition_rating` varchar(50) NOT NULL,
  `purchase_price` decimal(10,2) NOT NULL,
  `rental_price_3m` decimal(10,2) NOT NULL,
  `rental_price_6m` decimal(10,2) NOT NULL,
  `rental_price_12m` decimal(10,2) NOT NULL,
  `stock_quantity` int NOT NULL DEFAULT 0,
  `image_urls` json,
  `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

CREATE TABLE `users` (
  `user_id` int PRIMARY KEY AUTO_INCREMENT,
  `email` varchar(255) UNIQUE NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `first_name` varchar(100) NOT NULL,
  `last_name` varchar(100) NOT NULL,
  `phone` varchar(20),
  `role` varchar(20) DEFAULT 'customer',
  `created_at` timestamp DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE `orders` (
  `order_id` int PRIMARY KEY AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `order_date` timestamp DEFAULT CURRENT_TIMESTAMP,
  `total_amount` decimal(10,2) NOT NULL,
  `status` varchar(50) DEFAULT 'pending',
  `shipping_address` text NOT NULL,
  `payment_method` varchar(50) NOT NULL,
  FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`)
);

CREATE TABLE `order_items` (
  `item_id` int PRIMARY KEY AUTO_INCREMENT,
  `order_id` int NOT NULL,
  `product_id` int NOT NULL,
  `quantity` int NOT NULL,
  `price` decimal(10,2) NOT NULL,
  FOREIGN KEY (`order_id`) REFERENCES `orders` (`order_id`),
  FOREIGN KEY (`product_id`) REFERENCES `products` (`product_id`)
);

CREATE TABLE `rentals` (
  `rental_id` int PRIMARY KEY AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `product_id` int NOT NULL,
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  `monthly_rate` decimal(10,2) NOT NULL,
  `status` varchar(50) DEFAULT 'active',
  `buyout_price` decimal(10,2),
  FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`),
  FOREIGN KEY (`product_id`) REFERENCES `products` (`product_id`)
);
Share:
Details:
  • Stars


    0
  • Forks


    0
  • Last commit


    3 months ago
  • Repository age


    3 months
View Repository

Auto-fetched from GitHub .

MCP servers similar to GigGatek:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


GigGatek: MCP Server – MCP.Bar