COFFEINO is a modern coffee e-commerce store built with React and TypeScript. The application demonstrates best practices in frontend development with a clean architecture and responsive design.
- React 18+ with TypeScript
- Redux Toolkit + RTK Query for state management
- React Router v7 for navigation
- CSS Modules for styling
- JSON Server for mock API
- Extended product cards with detailed information
- Product tags ("NEW" and collections)
- Quick add to cart functionality
- Responsive grid layout
- Real-time cart management
- Quantity controls (+/- buttons)
- Item removal functionality
- Total cost calculation
- Order checkout
- Two-column layout (catalog + cart)
- Mobile-responsive design
- Smooth animations and transitions
- Intuitive user experience
- Node.js 16+
- npm or yarn
- Clone the repository
git clone <repository-url>
cd coffeino-frontend- Install dependencies
npm install- Start JSON Server (mock API)
npm run serverServer will run on http://localhost:3001
- Start the application
npm startApplication will be available at http://localhost:3000
src/
├── components/ # React components
│ ├── Basket/ # Shopping cart component
│ ├── ProductCard/ # Product card component
│ ├── ProductList/ # Products listing
│ └── Header/ # App header
├── pages/ # Application pages
│ ├── Home/ # Main page
│ └── ProductDetails/ # Product detail page
├── store/ # Redux store
│ ├── slices/ # Redux slices
│ └── api/ # RTK Query APIs
├── types/ # TypeScript type definitions
└── data/ # Mock data
└── db.json # JSON Server data
- Redux Toolkit for global state
- RTK Query for API interactions
- Local state for UI components
- Strict typing for all components
- Interfaces for products and cart items
- Typed props and events
- CSS Modules for style isolation
- Responsive design principles
- Modern CSS features
To add your application screenshot:
- Take a screenshot of the main page
- Save it in the project root as
screenshot.png - Ensure the screenshot shows:
- Product catalog on the left
- Shopping cart on the right
- Several products with different quantities
npm start- Start development servernpm run server- Start JSON Servernpm run build- Build production versionnpm test- Run test suite
- ESLint for code linting
- Prettier for code formatting
- TypeScript strict mode
- Feature branch development
- Semantic commit messages
- Code review process
After starting the application, you'll see:
- Main page with product catalog
- Side panel with shopping cart
- Ability to add/remove products
- Dynamic interface updates