Gimy Store is a responsive web application built with Angular 20 for browsing, filtering, and managing computer hardware components and custom gaming PC parts. Designed with modern Angular standalone components and reactive architecture, Gimy Store enables seamless hardware catalog exploration, category-based filtering, detailed specification inspection, and inventory item management.
- 🖥️ Hardware Catalog: Comprehensive catalog for Processors (CPU), Graphics Cards (GPU), Motherboards, RAM, Storage (NVMe/SSD), Power Supplies, Cooling, and Accessories.
- 🎯 Category & Spec Filtering: Fast filtering by component categories, manufacturers/brands, price ranges, and technical specifications.
- 📋 Inventory & Product Management: Reactive forms to add, update, and manage hardware products with image URLs and hardware specs.
- ⚡ Standalone Component Architecture: Fully leverages Angular 20 Standalone Components and Angular Routing without legacy
NgModuleboilerplate. - 🐳 Dockerized Deployment: Multi-stage Docker build served via lightweight Nginx Alpine container.
- 🔄 Automated CI: GitHub Actions workflow verifying TypeScript compilation and production builds on push/PR.
- Framework: Angular 20 (Standalone Components)
- Language: TypeScript 5.9
- State & Reactivity: RxJS 7.8
- Tooling: Angular CLI &
@angular/build(Vite/esbuild-powered application builder) - Containerization: Docker & Nginx Alpine
Run the containerized application with a single command:
docker compose up -dThe application will be accessible at: 👉 http://localhost:4200
-
Clone the repository:
git clone https://github.com/luminariadev/gimy.git cd gimy -
Install dependencies:
npm install
-
Start the development server:
npm start # or npx ng serve -
Open in browser: Navigate to
http://localhost:4200/.
gimy/
├── .github/workflows/
│ └── ci.yml # GitHub Actions CI workflow
├── public/ # Static assets
├── src/
│ ├── app/
│ │ ├── components/
│ │ │ ├── header/ # Navigation header & brand search
│ │ │ ├── product-form/ # Component creation & edit modal
│ │ │ └── product-list/ # Product grid & category filtering
│ │ ├── models/ # TypeScript interfaces & enums
│ │ ├── services/ # Reactive product state service
│ │ ├── app.component.ts # Root standalone component
│ │ ├── app.html # Main view template
│ │ └── app.routes.ts # Client-side routing configuration
│ ├── index.html # Main HTML entry
│ ├── main.ts # Application bootstrap
│ └── styles.css # Global stylesheet
├── angular.json # Angular workspace configuration
├── docker-compose.yml # Container orchestration
├── Dockerfile # Multi-stage production build
├── nginx.conf # Nginx SPA fallback configuration
└── tsconfig.json # TypeScript configuration
# Type check with TypeScript compiler
npx tsc --noEmit
# Production build
npm run buildThe compiled assets will be generated in dist/gimy-store/browser.
This project is open-source and licensed under the MIT License.