Authenticate as a SalesX manager and gain access to dynamic charts and a product management table for overseeing operations in the store!
Auth Page: choose an account to continue with
Home Page: gain insight on store operations with stat cards and charts
Products Page: navigate through the product table using search functionality, sorting options, and pagination parameters
Product Page: get detailed information about a product, including reviews and shipping options
Edit Product Page: update existing product
Create Product Page: fill in the inputs to create a new product
Sales Page: gain insight on sales data with stat cards and charts
Access application via this link
If you don't have Node.js
on your PC, install it here (use version 20.18.0 or above)
Verify node
version
node -v // Should print "v20.18.0" or above.
npm
versionnpm -v // Should print "10.9.0" or above.
git clone https://github.com/PikuzaMarie/admin-dashboard.git
cd admin-dashboard
npm install
it will automatically run in your default browser at http://localhost:3000/
npm run dev
fetchProducts
) for integrating sorting, search, and pagination parameters in API requestssessionStorageMiddleware
for saving and retrieving new products in/from sessionStorage
Ctrl/Command + K
shortcutRecharts
and Framer Motion
condition
to prevent duplicate server requests. The searchTerm
is debounced using the custom useDebounce
hook to minimize unnecessary requestsuseCallback
and memo
to reduce unnecessary re-rendersNotFoundPage
for non-existent routesPredefined User Authentication: Authentication is restricted to predefined user data, which is a server limitation. Therefore, on the login page, users must select a predefined user instead of manually entering credentials
Page Reload Behavior: Upon reloading the page, the user is redirected to the auth page. In the future, logic will be added to verify the presence of authorization data in localStorage
to maintain access for the currently selected user
Product Field Update Limitations: Not all product fields can be updated due to server settings. As a result, the product editing form contains fewer fields compared to the product details page
Product Creation Limitations: Due to server-specific constraints, only one product with a new unique ID and limited quantity of fields can be created. In the application, you can create a single new product, which will appear in the product table. However, detailed viewing of this product is not possible. Subsequent product creations will overwrite the previous one
This project leverages DummyJSON API, an excellent resource for implementing authentication logic and retrieving structured JSON data