Creating a Shopping Cart with React + Vite + Tailwind CSS – Simple React Project

Posted by


Bu rehberde, React, Vite ve Tailwind CSS kullanarak bir alışveriş sepeti oluşturacağız. Bu basit React projesinde, kullanıcılar alışveriş sepetlerine ürün ekleyebilecek ve sepetlerini güncelleyebilecekler. Bu proje, React uygulamalarını oluşturmak için Vite kullanmanın kolaylığını göstermek için tasarlanmıştır. Tailwind CSS ise, hızlı bir şekilde kullanımı kolay ve güzel bir arayüz oluşturmanıza yardımcı olacak.

Adım 1: Proje Oluşturma
İlk adım olarak, bir React projesi oluşturmak için Vite’i kullanacağız. İlk olarak, Vite’i yüklemek için terminalde aşağıdaki komutu çalıştırın:

npm install create-vite

Daha sonra, proje klasörünüzü oluşturmak için aşağıdaki komutu çalıştırın:

npx create-vite my-shopping-cart

Proje klasörünüze gidin:

cd my-shopping-cart

Ve proje bağımlılıklarını yüklemek için aşağıdaki komutu çalıştırın:

npm install

Adım 2: Tailwind CSS ve React’i Yükleme
Şimdi Tailwind CSS ve React bağımlılıklarını projenize ekleyeceğiz. Bunun için aşağıdaki komutları terminalde sırayla çalıştırın:

npm install tailwindcss
npm install @headlessui/react
npm install @heroicons/react

Daha sonra, Tailwind CSS’i projenize eklemek için src/index.css dosyasını oluşturun ve içine aşağıdaki kodu ekleyin:

@tailwind base;
@tailwind components;
@tailwind utilities;

Son olarak, bu CSS dosyasını projenizin giriş dosyasına eklemek için src/main.jsx dosyasını açın ve aşağıdaki satırı ekleyin:

import './index.css';

Adım 3: Alışveriş Sepeti Komponentlerini Oluşturma
Şimdi alışveriş sepeti için gerekli komponentleri oluşturacağız. src/components klasörü altında iki yeni dosya oluşturun: ProductList.jsx ve Cart.jsx.

ProductList.jsx dosyasına aşağıdaki kodu ekleyin:

import React from 'react';

const ProductList = ({ products, addToCart }) => {
  return (
    <div>
      <h1>Products</h1>
      {products.map((product) => (
        <div key={product.id}>
          <p>{product.name} - ${product.price}</p>
          <button onClick={() => addToCart(product)}>Add to Cart</button>
        </div>
      ))}
    </div>
  );
};

export default ProductList;

Cart.jsx dosyasına aşağıdaki kodu ekleyin:

import React from 'react';

const Cart = ({ cart, removeFromCart }) => {
  return (
    <div>
      <h1>Cart</h1>
      {cart.map((item) => (
        <div key={item.id}>
          <p>{item.name} - ${item.price}</p>
          <button onClick={() => removeFromCart(item)}>Remove from Cart</button>
        </div>
      ))}
    </div>
  );
};

export default Cart;

Adım 4: Ana Uygulama Komponentini Oluşturma
Şimdi ana uygulama komponentimizi oluşturacağız. src/App.jsx dosyasını açın ve aşağıdaki kodu ekleyin:

import React, { useState } from 'react';
import ProductList from './components/ProductList';
import Cart from './components/Cart';

const App = () => {
  const [products, setProducts] = useState([
    { id: 1, name: 'Product 1', price: 10 },
    { id: 2, name: 'Product 2', price: 20 },
    { id: 3, name: 'Product 3', price: 30 },
  ]);

  const [cart, setCart] = useState([]);

  const addToCart = (product) => {
    setCart([...cart, product]);
  };

  const removeFromCart = (product) => {
    setCart(cart.filter((item) => item.id !== product.id));
  };

  return (
    <div>
      <ProductList products={products} addToCart={addToCart} />
      <Cart cart={cart} removeFromCart={removeFromCart} />
    </div>
  );
};

export default App;

Adım 5: Uygulamayı Başlatma
Son adım olarak, uygulamayı başlatmak için terminalde aşağıdaki komutu çalıştırın:

npm run dev

Tarayıcınızda http://localhost:3000 adresine giderek oluşturduğunuz alışveriş sepetini görebilirsiniz. Artık kullanıcılar ürün ekleyebilir, sepetlerini güncelleyebilir ve alışveriş yapabilirler.

Bu rehberde, Vite, React ve Tailwind CSS kullanarak basit bir alışveriş sepeti projesi oluşturmayı öğrendik. Bu proje, React uygulamaları oluşturmanın kolaylıkla nasıl olduğunu göstermek için tasarlanmıştır. Umarım bu rehber işinize yaramıştır!

0 0 votes
Article Rating

Leave a Reply

22 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Anonymous
2 hours ago

Merhaba arkadaşlar, izlediğiniz için teşekkürler. Kanala abone olup videoyu beğenmeni unutmayın. İyi çalışmalar❤

@mehmetkarakas130
2 hours ago

Tesekkurler, yine onemli bir calismaydi. React serilerinin devamini bekliyoruz.

@vosbeko
2 hours ago

Hocam sabırla emek verip tek tek tane tane anlatmanız çok iyi. Gerçekten öğretmek için anlatıyorsunuz. Sırf izlenmek için anlatan kişiler gibi buraları zaten biliyorsunuz geçiyorum geçiyorum diye diye 10 dakikalık video çekmemişsiniz. Çok teşekkür ederim.

@suatcelik7834
2 hours ago

Hocam Tailwind CSS yerine Bootstrap kullanabilir miyiz. ilk kez Tailwind CSS i duydum bootstrapa benzettim.

@suatcelik7834
2 hours ago

Vite yerine next.js ne kullanılabilir miydi neden vite kullandık

@ÖmerFarukUrgancı
2 hours ago

Harika bir video hocam Kolay gelsin

@PeriklesPeriklesoglu
2 hours ago

teşekkür ederim

@PeriklesPeriklesoglu
2 hours ago

teşekkür ederim

@myytkn8526
2 hours ago

Cok faydali Emin hoca, cok faydan var seni izleyenlere.

@myytkn8526
2 hours ago

Offfff Video süper ya. Bu React`ti iyi ögrenirsem bol pratik yaparak uzman olabiirsem hem is bulurum, hemde freelance olarak calisirim. Tskler Emin hoca cok yardimci oluyorsun.

@Mertk1881.
2 hours ago

Reis Çok yararlı videoların var abone oldum üyede oldum kanalına seviliyosun:)

@fuadgemici7255
2 hours ago

hocam ben index.css ilk basda copy yapdığım tailwindler sorun veriyo nasil düzelte bilirim

@nemesis0171
2 hours ago

Hocam Wai-Aria hakkında video gelir mi:)

@elchin_123
2 hours ago

Merhaba.udeymde reach js. Kursu var. Onu almak isdiyorum ancaq bir sorun var.
Bu reach js. Web uygulamasının frotend kısmımı ? Bu kursu bitirdiyim də 0dan bir web sitesi yapıb kullana bilirmiyim?

Backend kısmı için başqa bir dile ihtiyacım varmı?

@erkayy3697
2 hours ago

ellerinize sağlık hocam en kısa sürede burdayım:)

@ahmetsw22
2 hours ago

Örnek bir junıor front-end mülakat videosu gelirse süper olur bence

@emirhankayabas
2 hours ago

Hocam iyi günler. React'a yeni başlayan birisiyim. Components olaylarını falan çözdüm. Fakat proje yapmak istiğim zaman üyelik kısmında takılıyorum. Kullanıcı bilgilerini alıp fetch ile apiye gönderip php ile kontrol sağlıyorum fakat giriş yapıldıktan sonra bütün sayfalarda kullanıcı bilgilerine erişmek olsun eğer giriş yapılmamışsa login sayfasına yönlendirilmesi gibi işlemleri yapamıyorum. PHP de session ile bunu rahatlıkla yapabiliyordum fakat reactta gelince üyelik yönetimi konusunu hiç beceremedim. Bu konu üzerinde bir videonuz var mı? Yoksa bu tür bir içerik paylaşabilir misiniz?

@fatihkaracanY
2 hours ago

Hocam HTML&CSS' i sayenizde belirli seviyede ilerlettim,teşekkürler.Kanalımda HTML&CSS kullanarak basit birkaç proje yaptım.Videolar için teşekkürler;)

@yakupturhan8495
2 hours ago

elinize saglık hocam daha cok react videoları bekliyoruz özellikle react a son gelen güncellemeyle ilgili bilgilendirici bir video ve sıfırdan react anlatım dersleri

@NotFounds06
2 hours ago

Hocam cok iyi oldu bu teşekkürler

22
0
Would love your thoughts, please comment.x
()
x