Welcome to the E-Commerce Fashion App! This React application provides a user-friendly environment for online shopping. Users can effortlessly create accounts, manage items in their cart, and securely complete payments. For a hands-on experience, check out the deployed version here.
- Clone the repository
git clone https://github.com/Sathwick-Reddy-M/ecommerce-fashion.git
- Navigate to the project directory
cd ecommerce-fashion
- Install dependencies
npm install
The shopping application has the following major features
- Firebase is employed to handle user authentication, ensuring a secure and reliable authentication process.
- The application provides user-friendly sign-up options, allowing users to create accounts using their email and password, while also incorporating the convenience of Google Sign-in for a seamless registration experience.
- Firebase authentication is employed through the steps of signing in and signing up, ensuring a secure and efficient process.
- The Firestore Database is where all the different categories and the items that are currently up for sale are stored.
- A convenient cart system is available to help users effortlessly keep track of the items they want to buy.
Redux-Persistis utilised to persist the data in the cart and user authentication states.
- The payments are facilitated using the Stripe API.
- Redux Thunk and Redux Saga are utilised to manage the asynchronous functions in the application
- One of these include the retrieval of the different categories and items which are on sale from the firestore database when the Shop component mounts.
- At the start, the Context API is employed to update the states. Subsequently, Redux techniques are introduced to effectively manage the complex interactions and updates of categories and cart items based on user actions.
- Netlify is used to deploy the React application.
- The Netlify function is utilized to activate Stripe payments, and you can find it in the
netlify/functionsdirectory.
React, TypeScript, React Context API, React Router, Redux, Redux-Persist, Redux Thunk, Redux Saga, Firebase, Netlify
-
netlify/functions: This directory holds the payment intent function responsible for enabling Stripe payments. -
components: Here, you'll find the React components that make up the shopping application. -
routes: Similarly, this directory contains React components but specifically for different endpoints within the application. -
store: Houses the Redux actions and state management files, ensuring organized and efficient data handling. -
utils/firebase: Contains helpful functions for data retrieval from the Firestore database and user authentication. -
utils/reducer: This directory holds useful functions related to Redux reducers, aiding in state management. -
utils/stripe: Here, you can access helpful functions for the initial setup required to enable Stripe payments.