An online coffee shop to buy and receive your coffee wherever you are, at any time.
The purpose of the project is to delve deeper into React features, to practice using ReactJS even more.
- Node.js
- Git
- Clone the repository (
git clone git@github.com:rodrigofontesdev/coffee.git
) - Install dependencies (
npm install
) - Run application (
npm run dev
)
- List available products for purchase
- Filter products
- Add products to the cart
- Increase or decrease the quantity of individual products in the cart
- Remove products from the cart
- Form for users to fill their address and choose a payment method
- Create order
- Recover abandoned cart
- Create components
- Share data between components (
props
andContext API
) - Render lists (lists and
key
) - Maintain data persistence between renders (
useState()
) - Immutability and techniques to avoid accidental mutations
- CSS-in-JS styling with Styled Components
- Create routes with React Router DOM
- Controlled and uncontrolled components
- Form validation with React Hook Form and Zod
- Store data in user's browser with localStorage
- Perform side effects in components (
useEffect()
) - Build custom React hooks
- Manage complex states (
useReducer()
)
- React
- TypeScript
- Styled Components
This project is licensed under the MIT License - see the LICENSE.md file for details.