A fully functional, single-page online store built with React and TypeScript. This project showcases a modern shopping experience featuring phones, tablets, and smartwatches. It includes multi-language support, dark/light themes, product pages, a favorites list, a shopping cart, and interactive UI components like swipers and modals — all built with clean modular structure and React best practices.
- React (Functional Components & Hooks)
- TypeScript
- React Router
- React Context API
- SCSS Modules (modular SCSS styling)
- Swiper.js (for carousels)
- i18next (internationalization)
- Light/Dark theme switcher
- Responsive Web Design
To run this project locally:
- Clone the repository:
git clone https://github.com/yzhyhaliuk/Gadgetry.git
cd Gadgetry- Install dependencies:
npm install- Run the project locally:
npm start- 📱 Catalog of phones, tablets, and smartwatches
- 🌗 Light and dark themes with toggle
- 🌍 App translation (Ukrainian & English) via i18next
- 🔍 Product search by name
↕️ Sorting by price, name, or newest- 🔢 Pagination control — choose number of products per page
- 🛒 Shopping cart with product management
- ❤️ Favorites list with persistence
- 📄 Individual product detail pages (200+ products)
- 🎞️ Product carousels using Swiper.js
- ⚛️ SPA structure with client-side routing
- 📦 Modular file architecture: reusable components, module.scss styling
- 📁 Local API simulation (products and images in /api folder)