Este README também está disponível em Português.
Efood is an online restaurant platform built with React and TypeScript, offering users the ability to browse restaurants, view dishes, manage a cart, and simulate a complete checkout process with form validation, input masks, animations, and accessibility enhancements. Data is dynamically fetched using RTK Query from a custom API maintained and run by me, ensuring up-to-date restaurant information and images.
- Dynamic restaurant and dish rendering using RTK Query from my API
- Cart functionality powered by Redux Toolkit
- Multi-step checkout with Formik + Yup validation
- Masked inputs for credit card and delivery fields using React Input Mask Next
- Loading animations using Lottie
- Accessible components with semantic HTML, ARIA attributes, and hidden labels
- Responsive mobile-first design and smooth scrolling
Live Vercel hosting:
https://e-food-restaurant.vercel.app
Video walkthrough (silent):
Watch the full demo on YouTube
src/
├── components/ # Reusable UI components
├── containers/ # Cart, forms, and main sections
├── pages/ # Route-level views (Home, Profile)
├── services/ # API slices and RTK Query config
├── styles/ # Global styles and themes
├── types/ # TypeScript global types
├── utils/ # Input masks and helper functions
└── App.tsx # Main app entry
- React ^18.2
- TypeScript ^4.9
- Redux Toolkit & React Redux
- RTK Query for API integration
- React Router DOM ^7.2
- Formik + Yup for forms
- React Input Mask Next
- Styled Components ^6.1
- Lottie React & @lottiefiles/react-lottie-player
- ESLint, Prettier for formatting
-
Clone the repository:
git clone https://github.com/AsrielDreemurrGM/EFood_Restaurant -
Navigate to the folder:
cd EFood_Restaurant -
Install dependencies:
or
npm installyarn install -
Start the development server:
or
npm startyarn start
- start – Runs the project in development mode
- build – Builds the app for production
- test – Runs tests
All data is fetched from my custom API:
https://e-food-api.vercel.app/- Accessibility: ARIA roles, semantic structure, screen reader support
- Checkout: Formik + Yup with input masks and validation feedback
- Cart: Full cart management with delayed reset and success modal
- Animation: Integrated Lottie animations for loading feedback
- Routing: Dynamic routing for restaurants and dishes
- Performance: Fixed console warnings and streamlined types
This project is licensed under the MIT License.