Phone Catalog is a modern, fully interactive web application designed to browse, search, compare, and manage mobile phones. It leverages React, Redux Toolkit, TypeScript, and a range of modern tools to deliver a smooth and scalable user experience.
- ⚛️ React 18 – For building UI components
- 💡 TypeScript – For type-safe JavaScript
- ⚙️ Redux Toolkit – State management made simple
- ⚡ Vite – Lightning-fast dev server and build tool
- 🧭 React Router DOM – Client-side routing
- 💫 Framer Motion – Smooth animations
- 🎠 Swiper – Touch sliders for responsive carousels
- 🌀 reset.css – Cross-browser style reset
- 🧰 Lodash – Utility library
- ✅ ESLint + Prettier + Stylelint – Code and style consistency
- 🌐 Airbnb ESLint Config – Opinionated code style guide
- 💡 vite-plugin-svgr – Import SVGs as React components
- 📦 Type Definitions – Includes all necessary @types for React, DOM, Lodash, and more
Sort by price or name, DESC or ASC.
Dedicated routes for category listings and individual product detail views.
Add phones to your favorites or shopping cart — stored via Redux state.
Fully functional and styled for mobile, tablet, and desktop devices.
Smooth page transitions and dynamic UI animations.
The app includes a theme switcher that allows users to toggle between light and dark themes for a personalized experience. The theme preference is saved locally, so it persists across page reloads.
-
Clone the repository
git clone https://github.com/maxmodrr/phone-catalog.git cd phone-catalog
-
Install dependensies
npm i
-
Start the development server
npm start
You're welcome to explore the project!