Final project for the React 2025 course: a full-featured digital art gallery with user authentication, product browsing, filtering, admin management, reviews, and shopping cart functionality.
- User login and registration with Formik + Yup validation
- Admin panel to add/delete artworks
- Filter artworks by name, category, and price (server-side filtering)
- Shopping cart built with Redux (client-side only)
- Reviews section (users can add/delete their own reviews)
- Toast notifications for actions using Redux state
- Dynamic routing including parameters and nested routes
- Lazy loading, useMemo usage, and custom hooks
- React + TypeScript
- React Router DOM
- Redux Toolkit + React-Redux
- Formik + Yup
- Axios
- SCSS
- json-server
- Bootstrap / MUI
/src
/components
/pages
/redux
/hooks
/server
db.json
-
Clone the repository: git clone https://github.com/efrat9022/ArtBeat.git
cd ArtBeat -
Install dependencies: npm install
-
Start the frontend: npm start
-
In a separate terminal, start the backend (json-server): npx json-server --watch server/db.json --port 4000
- Admins can manage products (add/delete).
- Filtering is performed via API queries, not on the client.
- Global state includes user info, cart contents, and message state.
- Toast messages appear for success/failure and disappear automatically.
Efrat Weis – Final Project for React Course 2025