- Clone this repository
- Install dependencies
pnpm i
- Run the project
pnpm run dev
- Open the project at http://localhost:3000
- Next.js - React framework
- nanostores - global stores
- shadcn/ui - UI components
- walletconnect - wallet connection as authorization
/app
- default Next.js app folder with pages, layouts, global styles, etc.
/components
- reusable components
/components/ui
- components from shadcn/ui
/hooks
- reusable hooks
/lib
- core of our project. Constants, request to API, types for entities, etc. This part of the project is virtually framework-independent and can be reused when the framework is changed. For example, from React to Vue
/stores
- global stores. We use nanostores for this. Because it is a lightweight user-friendly library that can work with all popular frameworks, supports computable stores, synchronizes with localStorage and is easy to test
- Authorization via WalletConnect
- Displaying a list of products
- Displaying a product page
- Filtering products by category
- Cart with saving to localStorage. You can add products to the cart, remove them, clear the cart
- Order. You can make order only if you are authorized
pnpm run test