diff --git a/README.md b/README.md index d867b4e..96dac93 100644 --- a/README.md +++ b/README.md @@ -11,26 +11,52 @@ The Online Shop is build with React. It has custom responsive layout styled with SCSS. It makes an API call to fetch mock products from [Dummy JSON API](https://dummyjson.com/products) with Redux [RTK Query](https://redux-toolkit.js.org/rtk-query/overview). Added also Toastify for notifications. The application shows a product home page and a cart page, the routing is done with React Router. - - -## Installation --- -### Under the repository name, click on clone or download. In the terminal paste this command: +## Quick overview +--- +- Browse products retrieved from a mock API +- View product details and add items to a cart +- Update item quantities or remove items from the cart +- Toast notifications for user actions +- Responsive layout using SCSS +--- +## Tech stack +--- +- React (functional components + hooks) +- Redux Toolkit + RTK Query for async data +- React Router for navigation +- SCSS for styling +- react-toastify (notifications) + +--- +## Getting started (local) +--- +1. Clone the repository : ```git clone https://dadobos.github.io/online-shop.git``` - -### Open the project in VSCode or move inside the folder with: - +2. Go into the project folder: ```cd online-shop``` - -### Install the npm packages: - +3. Install dependencies: ```npm install``` - -### Run the application with: - +4. Start the dev server: ```npm start``` - -### In the browser open the "3000" port: - +5. Open the app in your browser: ```http://localhost:3000/``` + +--- +## Common scripts +--- +- npm start — start dev server (hot reload) +- npm run build — create a production build +- npm test — run tests (if present) +- npm run lint — run linters (if configured) + +--- +## Notes for development +--- +- API calls are handled with RTK Query; service files are located in src (look for a services or api directory). +- Styles are in SCSS — components can import their module styles or use shared partials. +- Routing lives under src (check App or routes-related files) — add pages or adjust routes there. +- For mock API changes, update the base URL or endpoints in the RTK Query service file. + + diff --git a/package-lock.json b/package-lock.json index cda96c6..9dfaf78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4186,7 +4186,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -16934,6 +16933,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=10" }, @@ -17038,9 +17038,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "license": "Apache-2.0", "peer": true, "bin": { @@ -17048,7 +17048,7 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/unbox-primitive": { @@ -17438,6 +17438,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "license": "MIT", + "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5",