This project is a clone of the Amazon website, developed using ReactJS. It includes features such as user authentication, dynamic cart management, and Stripe payment integration.
ReactJS
Firebase (Hosting, Authentication, Database)
Material UI
React Router DOM
React Currency Format
React Context API
Axios (API Requests)
@stripe/stripe-js
and@stripe/react-stripe-js
React Flip Move
Moment.js
- User Authentication: Implemented using Firebase authentication.
- Dynamic Cart Management: Utilizes React Context API for efficient state management.
- Stripe Payment Integration: Allows users to make secure payments using Stripe.
- Responsive Design: Works well on a variety of devices and window or screen sizes.
I initiated the project by setting up the basic structure using Create React App. Firebase was chosen for hosting, authentication, and database functionalities due to its seamless integration with React and ease of use. The core functionality of the project revolves around the cart management system. Using React Context API, I created a data layer where cart items are stored, allowing for easy access and manipulation across different components. Integration with Stripe for payment processing was achieved through Firebase Cloud Functions. This ensured a secure and reliable payment flow, enhancing the user experience. Throughout the development process, I focused on optimizing performance and ensuring a smooth user experience. React Flip Move was employed for animated transitions, adding a touch of interactivity to the checkout process.
- Enhanced understanding of ReactJS and its ecosystem.
- Proficiency in utilizing Firebase for authentication and database management.
- Integration of third-party services like Stripe for payment processing.
- Improved skills in state management using React Context API.
- Experience with asynchronous programming and handling API requests.
To further enhance the project, the following improvements could be considered:
- Implement additional authentication methods such as Google or Facebook login.
- Enhance the user interface with more interactive elements and animations.
- Optimize performance by implementing lazy loading and optimizing data fetching.
- Introduce search functionality for products to improve user experience.
- Add menu bars below the header to mimic other features of Amazon.
To run the project locally:
- Clone the repository to your local machine.
- Run
npm install
oryarn
in the project directory to install the required dependencies. - Navigate to the folder
cd netflix-clone
. - Set up Firebase configuration for hosting, authentication, and database.
- Replace the Firebase configuration in the project with your own credentials.
- Run the project using
npm start
.
For an overview of the app and its functionalities, please visit App Overview.
Please note that the backend is not deployed on Firebase due to paid limitations. You can deploy the backend on Firebase or use alternative hosting solutions.