{"id":31675094,"url":"https://github.com/ahmed-maher77/productops___management-suite","last_synced_at":"2026-05-04T09:32:36.601Z","repository":{"id":318099354,"uuid":"1069990888","full_name":"Ahmed-Maher77/ProductOps___Management-Suite","owner":"Ahmed-Maher77","description":"A comprehensive product management platform with real-time analytics, multi-language support, and enterprise-grade CRUD operations.","archived":false,"fork":false,"pushed_at":"2025-10-05T04:21:16.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T05:35:09.310Z","etag":null,"topics":["backend-development","backend-services","expressjs","front-end-development","full-stack-web-development","github-pages","html-css-javascript","javascript","management-system","mysql-database","mysql2","netlify-deployment","nodejs","orm","product-management","relational-databases","restful-api","web-development"],"latest_commit_sha":null,"homepage":"https://ahmed-maher77.github.io/ProductOps___Management-Suite/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ahmed-Maher77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-05T03:12:30.000Z","updated_at":"2025-10-05T03:43:44.000Z","dependencies_parsed_at":"2025-10-05T05:47:17.006Z","dependency_job_id":null,"html_url":"https://github.com/Ahmed-Maher77/ProductOps___Management-Suite","commit_stats":null,"previous_names":["ahmed-maher77/productops___management-suite"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Ahmed-Maher77/ProductOps___Management-Suite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Maher77%2FProductOps___Management-Suite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Maher77%2FProductOps___Management-Suite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Maher77%2FProductOps___Management-Suite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Maher77%2FProductOps___Management-Suite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ahmed-Maher77","download_url":"https://codeload.github.com/Ahmed-Maher77/ProductOps___Management-Suite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmed-Maher77%2FProductOps___Management-Suite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278891742,"owners_count":26063856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend-development","backend-services","expressjs","front-end-development","full-stack-web-development","github-pages","html-css-javascript","javascript","management-system","mysql-database","mysql2","netlify-deployment","nodejs","orm","product-management","relational-databases","restful-api","web-development"],"created_at":"2025-10-08T05:00:16.235Z","updated_at":"2025-10-08T05:00:18.516Z","avatar_url":"https://github.com/Ahmed-Maher77.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ProductOps - Management Suite\n\nA comprehensive product management platform for end‑to‑end operations. ProductOps delivers enterprise‑grade CRUD with validation, advanced search and server‑side pagination, and CSV exports. The UI is multilingual (EN/AR with RTL) and accessibility‑first, and a real‑time insights dashboard surfaces KPIs (totals, average price, currency breakdown, recent activity) on a modern, responsive stack powered by Node.js/Express.\n\n---\n\n### 🌐 Live Preview\n\n-   👀 Watch Live Demo: [https://ahmed-maher77.github.io/ProductOps\\_\\_\\_Management-Suite/](https://ahmed-maher77.github.io/ProductOps___Management-Suite/)\n-   🖲️ Backend API: [https://product-ops-management-suite.vercel.app](https://product-ops-management-suite.vercel.app)\n\n---\n\n### 🎥 Demo Video\n\n**Watch the Demo on LinkedIn:** \u003ca href=\"\" target=\"_blank\"\u003e**coming soon**\u003c/a\u003e\n\n---\n\n### 💻 Used Technologies\n\n-   **HTML5/CSS3:** UI structure and responsive styling\n-   **JavaScript (ES6+):** Client logic, translations, accessibility\n-   **Bootstrap Utilities:** Layout and spacing helpers\n-   **Font Awesome:** Icons\n-   **Node.js + Express:** REST API for product operations\n-   **Hosting:**\n    -   Backend → Vercel (serverless-friendly, easy deploys)\n    -   Frontend → GitHub Pages (fast static hosting)\n\n---\n\n### ✨ Key Features\n\n-   Product CRUD with validation\n-   Search \u0026 Filters (name, price range, description)\n-   Pagination with info text\n-   Product details modal + edit handoff\n-   Delete confirmation modal with warning\n-   CSV export of products\n-   Internationalization (English/Arabic) with RTL layout\n-   Language switcher (accessible; ARIA + keyboard)\n-   Skeleton loaders for table while fetching\n-   Admin insights (totals, average price, currency breakdown, last 7 days)\n-   Accessibility improvements (skip link, landmarks, aria-live)\n-   Responsive design and consistent theming\n\n---\n\n### 📸 Website Preview (UI Mockup)\n\n\u003ca href=\"https://ahmed-maher77.github.io/ProductOps___Management-Suite/\" target=\"_blank\" title=\"demo\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/ae806e43-f848-40d2-b47d-6bfb11571a14\" alt=\"website preview - UI Mockup\" width=\"400\"\u003e\n\u003c/a\u003e\n\n---\n\n### 📥 Installation Instructions (Local Setup)\n\n1. Clone repo:\n    ```bash\n    git clone https://github.com/Ahmed-Maher77/ProductOps___Management-Suite.git\n    cd ProductOps___Management-Suite\n    ```\n2. Backend:\n    ```bash\n    # Install dependencies\n    cd Backend-server\n    npm install\n    # Configure environment varaibles\n    PORT=3001\n    DATABASE_NAME=\"name_of_your_database\"\n    DATABASE_URL= \"url_of_your_database\"\n    DATABASE_PASSWORD= \"password_of_your_database\"\n    DATABASE_USER= \"username_of_your_database\"\n    # Start server\n    npm run dev\n    ```\n3. Frontend:\n    ```bash\n    cd ../Frontend-client\n    # Serve statically (e.g., VS Code Live Server or simple HTTP server)\n    # Example:\n    npx serve -p 5500\n    # Open http://localhost:5500\n    ```\n\n---\n\n### 📁 Project Structure\n\n```\nProductOps/\n├─ Backend-server/\n│  ├─ controllers/\n│  ├─ routes/\n│  ├─ utils/\n│  ├─ index.js\n│  └─ package.json\n├─ Frontend-client/\n│  ├─ index.html\n│  ├─ js/\n│  │  └─ main.js\n│  ├─ styles/\n│  │  └─ style.css\n│  └─ images/ (favicons)\n└─ README.md\n```\n\n---\n\n### 🗄️ Database Structure (Products)\n\n-   id: number (unique)\n-   name: string (255 chars max)\n-   price: number\n-   currency: string (e.g., USD, EGP)\n-   description: string\n-   createdAt: ISO date\n-   updatedAt: ISO date\n\n---\n\n### 🔌 API Docs (REST)\n\nBase URL: `https://product-ops-management-suite.vercel.app/api`\n\n-   GET /products?page=1\u0026limit=10\u0026name=\u0026minPrice=\u0026maxPrice=\u0026desc=\n    -   List products with pagination and filters\n-   GET /products/:id\n    -   Get product by ID\n-   POST /products\n    -   Create product (body: { name, price, currency, description })\n-   PUT /products/:id\n    -   Update product\n-   DELETE /products/:id\n    -   Delete product\n\nResponse shape (list) — example for endpoint: GET /products:\n\n```json\n{\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"…\",\n            \"price\": 100,\n            \"currency\": \"USD\",\n            \"description\": \"…\",\n            \"createdAt\": \"…\",\n            \"updatedAt\": \"…\"\n        }\n    ],\n    \"meta\": { \"page\": 1, \"limit\": 10, \"total\": 42, \"totalPages\": 5 }\n}\n```\n\n---\n\n## 📬 Contact \u0026 Contribution\n\n-   🧑‍💻 **Portfolio:** \u003ca href=\"https://ahmedmaher-portfolio.vercel.app/\" title=\"See My Portfolio\"\u003ehttps://ahmedmaher-portfolio.vercel.app/\u003c/a\u003e\n-   🔗 **LinkedIn:** \u003ca href=\"https://www.linkedin.com/in/ahmed-maher-algohary\" title=\"Contact via LinkedIn\"\u003ehttps://www.linkedin.com/in/ahmed-maher-algohary\u003c/a\u003e\n-   📧 **Email:** \u003ca href=\"mailto:ahmedmaher.dev1@gmail.com\" title=\"Contact via Email\"\u003eahmedmaher.dev1@gmail.com\u003c/a\u003e\n\n\u003e Contributions, suggestions, and bug reports are welcome. Feel free to open issues or pull requests.\n\n---\n\n## ⭐ Support\n\nIf you found this project helpful or inspiring, please consider giving it a ⭐. Your support helps me grow and share more open-source projects like this!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed-maher77%2Fproductops___management-suite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmed-maher77%2Fproductops___management-suite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed-maher77%2Fproductops___management-suite/lists"}