Attainu Project

Shoppe – E-Commerce Store

Live Project Link | GitHub Link  

In this project, we built an e-commerce store with production-level features like cart, wishlist, filters, search, affiliation. To achieve the goal we begin with scraping real-world product data and dumping it in our database (Postgres). Then we started modelling our database designs and schemas. We spent a week on this task because we knew the importance of good database design and we wanted it to be perfect in one go which we accomplished successfully. After that we started working on all the features which we already decided, we proceeded with the strategy of one feature at a time. The task wasn’t easy as it seems to us in the beginning. We struggled with async state management, filtering products based on categories, scheduling requests and a few others, but in the end, we managed to make it perfect. We worked as a team of professionals from start to the end with very healthy discussions and debates, this is another reason why we were able to polish it and improve our own design with necessary features which weren’t there in the beginning. We learned from our mistakes and understood the reason why it had happened so we don’t repeat them. We want to thank AttainU for giving us this opportunity and the necessary skills to be able to make this kind of project.

Technologies we Used are –

  1. Express
  2. Postgres
  3. Sequelize
  4. Bcrypt
  5. JWT
  6. React
  7. Redux
  8. Redux Thunk
  9. Jquery
  10. Bootstrap
  11. Recharts
  12. Hosted on Heroku

API Endpoints – 

EndpointTypeDescription
/api/auth/loginPOSTValidate Login & responds with JWT Token
/api/auth/signupPOSTRegisters a User 
/api/productGETServes Entire Product Collection
/api/product/single/:idGETServes Single Product
/api/product/:idGETServes All Products of provided category_id
/api/categoriesGETServes All Categories
/api/cartPOSTCreates Cart for a user
/api/cart/:idGETServes Cart of a user
/api/affiliationsPOSTCreates Affiliation Link
/api/affiliations/:idGETGet Affiliation Details of specific user_id
/api/affiliations/search/:nameGETVerifies Affiliate Name
/api/ordersPOSTCreates Order
/api/orders/:idGETServes all orders of a specific user_id
/api/wishlistPOSTCreates Wishlist
/api/wishlist/getGETServes Wishlist of a specific user_id
/api/profileGETServes Profile details of users.
/api/profilePUTUpdates Profile Details of User.

Frontend Routes : 

RoutePurposeComponent
/HomepageHome
/menMen CategoriesMen
/womenWomen CategoriesWomen
/loginLogin PageLogin
/signupSignup PageSignup
/affiliate/:user_idAffiliation DetailsAffiliate
/checkoutCart Checkout PageCheckout
/ordersOrder Display PageOrders
/orders/summary/:order_idDisplays order SummaryOrderDetails
/profileProfile view and updateProfileUpdate
/updatePasswordPassword UpdateChangePassword
/wishlistDisplays Wishlist ItemsWishlist
/product/single/:idDisplays Single product detailsProductDetails
/shop/:gender/:category_idDisplays products via category idProducts
/cartDisplays Cart ItemsCart

 DEMO:

Leave a Comment

Your email address will not be published.