Skip to content

This project is the result of my dedication and passion for creating an exceptional online shopping experience. At Aglecha Diamonds App, I've meticulously crafted a platform that combines the elegance of diamonds with the convenience of modern technology. Razorpay payment integrated and google authentication implemented.

Notifications You must be signed in to change notification settings

khushboo-choudhary/aglecha_diamond_frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aglecha Diamonds Project Explanation

Overview

Aglecha Diamonds is a solo project focused on creating a diamond e-commerce website. The project includes various features like product listings, cart management, and a payment gateway integration using Razorpay in test mode. Additionally, the project implements sorting, filtering, debounce search, and Google Authentication for a seamless user experience.

You can go through the whole website deployed link is — https://aglecha-diamond-frontend.vercel.app/

Technologies Used

The software and tools we've used to work on the project are:

  1. Frontend:- ReactJS, JSX, Redux, MaterialUI
  2. Backend:- NodeJs, ExpressJs, MongoDB, Mongoose
  3. Packages:- Bcrypt, UUID, JWT, Razorpay
  4. Tools:- Postman, VSCode, GitHub

Test Mode Payments method details for Razor pay

1. The test card for payments

  • Mastercard
  CardNumber: 5267 3181 8797 5449
  CVV: Random CVV Expiry
  Date: Any future date
  • Visa
  CardNumber: 4111 1111 1111 1111
  CVV: Random CVV Expiry
  Date: Any future date

2. UPI Method

1.Test payment success flow using

success@razorpay.

2.Test payment failure flow using

failure@razorpay.

Implemented Features

1. Sorting

Implemented sorting functionality to allow users to sort product listings based on various criteria such as price, popularity, etc.

2. Filtering

Added the ability for users to filter products based on specific attributes.

3. Debounce Search

Implemented debounce search for efficient and real-time search functionality, reducing unnecessary API calls and providing a smoother user search experience.

4. Google Authentication

Integrated Google Authentication to allow users to log in using their Google accounts, improving the authentication process and enhancing user security.

Project Structure and Flow

1. Initialization and Planning

  • Setup the project environment and defined the tech stack.
  • Created a roadmap and defined tasks for each aspect of the project.

2. Backend and Frontend Development

  • Developed both backend and frontend components individually.
  • Focused on backend development first, setting up routes, APIs, and integrating payment gateways.

3. Payment Gateway Integration

  • Integrated Razorpay payment gateway in test mode.
  • Resolved challenges related to payment gateway documentation and implementation.

4. Integration of Additional Features

  • Added sorting, filtering, debounce search, and Google Authentication to enhance user interaction and security.

5. Testing and Deployment

  • Tested the application thoroughly, including payment flows using provided test card details and UPI methods.
  • Deployed the application and resolved platform-specific issues.

Challenge Faced

1. Google Authentication

  • Issue with scopes and redirect URL during Google Authentication implementation.

2. Payment Integration

  • Difficulty in establishing the connection and version compatibility during payment gateway integration.

3. Search Functionality

  • Faced issues with debouncing search implementation while incorporating filtering functionality.

4. Redux Implementation

  • Challenges in utilizing Redux to store and manage project data.

5. Deployment

  • Faced various issues during the deployment process.

Screen Shots

  • Home Page

home_page

home_page1

  • Trending Collection

home_page2

  • Diamonds Promises

home_page3

  • Footer Page

footer_page

  • Register Page

register_page

  • Login Page

login_page

  • Product Page

product_page1

product_page2

product_page3

  • Product Description Page

product_description_page

  • Cart Page

cart_page

  • Wishlist Page

wishlist_page

  • Checkout Page

checkout_page

  • Payment Page

payment_page

  • RazorPay Test Mode

razorpay_page1

razorpay_page2

razorpay_page3

razorpay_page4

razorpay_page5

  • Success Page

success_page

  • ThankYou Page

thankyou_page

  • Failure Page

failure_page

Conclusion

The Aglecha Diamonds project is a solo endeavor that successfully replicates a diamond e-commerce website, providing essential features like product listings, cart management, and a functional payment gateway using Razorpay in test mode. Additionally, the project includes sorting, filtering, debounce search, and Google Authentication to enhance user experience, engagement, and authentication security.

This summary provides an overview of the project, technologies used, payment testing methods, key implemented features, project structure, and the overall development flow.

Getting Started with Create React App

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

npm run build fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify

About

This project is the result of my dedication and passion for creating an exceptional online shopping experience. At Aglecha Diamonds App, I've meticulously crafted a platform that combines the elegance of diamonds with the convenience of modern technology. Razorpay payment integrated and google authentication implemented.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages