Projekt: E‑Shop
Březen 2026
Tento projekt propojuje více témat najednou: routing, globální stav košíku, práci s API a návrh e-commerce rozhraní.
Repozitář projektu: Basic Fake e‑shop
Co projekt dělá
Aplikace simuluje základní e-shop:
- načítá produkty z FakeStore API,
- zobrazuje katalog s detailní kartou produktu,
- umožňuje přidávat a odebírat položky z košíku,
- používá stránky
Home,Products,Cart.
Technologie a struktura
Technologicky je postavený na:
- Reactu (funkční komponenty, hooks),
- Vite pro rychlý vývoj,
- React Router DOM pro navigaci mezi stránkami,
- Tailwind CSS pro rychlé a moderní stylování.
Struktura je rozdělená na components a pages:
Header,Footer,Hero,Featuresjako sdílené UI části,Home,Products,Cartjako route-level stránky.
Práce s API a stavem
Produkty se načítají z FakeStore API přes useEffect a ukládají do stavu.
Jednoduché schéma pro načtení produktů může vypadat třeba takto:
useEffect(() => {
const loadProducts = async () => {
try {
const response = await fetch("https://fakestoreapi.com/products");
const data = await response.json();
setProducts(data);
} catch (error) {
console.error("Chyba při načítání produktů:", error);
}
};
loadProducts();
}, []);
Košík je řešen přes Context API, aby šel sdílet mezi stránkami:
const CartContext = createContext();
const CartProvider = ({ children }) => {
const [cartItems, setCartItems] = useState([]);
const addToCart = (product) => {
setCartItems((prev) => [...prev, product]);
};
const removeFromCart = (id) => {
setCartItems((prev) => prev.filter((item) => item.id !== id));
};
return (
<CartContext.Provider value={{ cartItems, addToCart, removeFromCart }}>
{children}
</CartContext.Provider>
);
};
Co jsem si odnesl
- Lepší práci s
React Routera route-level strukturou. - Praktickou zkušenost s
Context APIpro sdílený stav. - Jistotu v kombinaci API dat, UI stavu a interakcí košíku.
Kam to chci posunout dál
Do budoucna bych chtěl přidat:
- Filtrování podle kategorií a řazení podle ceny.
- Detail produktu na vlastní stránce.
- Uložení košíku do
localStorage, aby nákup „přežil“ obnovení stránky. - Základ falešného checkout flow (rekapitulace objednávky, formulář, potvrzení).
GitHub: Basic Fake e‑shop