Toy House is a pet-project online toy store.
The project is built with Next.js and demonstrates key features of a modern e-commerce application: product catalog, shopping cart with total calculation, order form, as well as additional interactive elements and advanced UX.
Live demo:
Toy House on Vercel
-
Product catalog: browse the list of toys, add items to the cart, navigate to the cart

-
Shopping cart:
-
Form validation (required fields, correct input)
-
Enhanced UI / UX:
-
Responsive design
-
Interactive map (react-leaflet + dynamic import in Next.js)
-
Site pages and blocks:
- "About Us"
- "Catalog"
- "Feedback"
- "Contacts"
- individual product pages
- separate cart page with order form
- Frontend: Next.js (App Router), React
- UI / UX: CSS / SCSS / Sass, animations, sliders, carousels
- Custom hooks:
useEventListener,useWindowScroll,useWindowSize - Libraries: react-leaflet, leaflet, react-hook-form, react-input-mask-next, swiper, @types/react-motion-slider
- Hosting: Vercel
- TypeScript and typings via @types/*
Dependencies:
"dependencies": {
"@types/react-motion-slider": "^0.4.13",
"leaflet": "^1.9.4",
"next": "15.2.4",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.61.1",
"react-input-mask-next": "^3.0.0-alpha.12",
"react-leaflet": "^5.0.0",
"sass": "^1.86.3",
"scss": "^0.2.4",
"swiper": "^11.2.6"
},
"devDependencies": {
"@types/leaflet": "^1.9.17",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/react-input-mask": "^3.0.6",
"typescript": "^5"
}Local setup:
# 1. Clone the repository
git clone https://github.com/Ivanna-Kutsovol/ToyHouse.git
cd ToyHouse
# 2. Install dependencies
npm install
# 3. Run the project
npm run dev
# 4. Open in browser
http://localhost:3000Ivanna Kutsovol
GitHub: @Ivanna-Kutsovol




