A modern React application for building custom burgers with drag-and-drop functionality. Built with React, Redux, and react-dnd for an interactive user experience. Try it here React Space Burger
Try it here deployed React Space Burger
- 🍔 Interactive burger builder with drag-and-drop interface
- 🧱 Component-based architecture with reusable UI elements
- 📱 Responsive design for all device sizes
- ⚡ State management with Redux
- 🎨 Custom CSS modules for styling
- 🔄 Loading states and error handling
- Node.js (version 16 or higher)
- npm or yarn package manager
- Clone the repository:
git clone [your-repo-url]
cd react-burger-builder- Install dependencies:
npm install- Start the development server:
npm startThe application will be available at http://localhost:3000.
The project includes automated code quality checks that run before each commit. To ensure smooth development:
Recommended workflow:
npm run check # Run all checks before committingIndividual commands:
npm run lint- Run ESLint and auto-fix issuesnpm run stylelint:fix- Check and fix CSS/SCSS styling issuesnpm run format- Format code with Prettier
Committing changes:
npm run commit # Interactive commit with conventional commit formatThis ensures your commit messages follow Conventional Commits standards.
Configure your IDE to automatically run formatting and linting on save for the best development experience.
src/
├── components/ # Reusable UI components
│ ├── burger-ingredients/
│ ├── burger-constructor/
│ └── preloader/
├── pages/ # Page components
│ └── home.jsx
├── utils/ # Utility functions and services
└── styles/ # Global styles and CSS modules
The project uses path aliases for cleaner imports:
// Instead of: import Component from '../../../components/component'
import Component from '@components/component';Available aliases:
@→./src@components→./src/components@services→./src/services@pages→./src/pages@utils→./src/utils
- React - UI library
- Redux - State management
- React DnD - Drag and drop functionality
- CSS Modules - Scoped styling
- ESLint - Code linting
- Prettier - Code formatting
- Stylelint - CSS linting
npm start- Start development servernpm run build- Build for productionnpm test- Run testsnpm run check- Run all quality checksnpm run lint- Lint JavaScript filesnpm run stylelint:fix- Lint and fix CSS filesnpm run format- Format code with Prettiernpm run commit- Interactive commit tool