{"id":25877238,"url":"https://github.com/rh9891/theknittygritty","last_synced_at":"2026-04-09T17:03:53.852Z","repository":{"id":196350380,"uuid":"333957930","full_name":"rh9891/TheKnittyGritty","owner":"rh9891","description":"A full-stack eCommerce application that utilizes Node, React, Redux, Express, and MongoDB. Also includes user authentication, review/rating system, product pagination, and full-featured checkout process.","archived":false,"fork":false,"pushed_at":"2021-08-02T02:59:10.000Z","size":17199,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-09-24T17:38:46.837Z","etag":null,"topics":["axios","bcryptjs","database-seeder","ecommerce","express","express-async-handler","heroku","jsonwebtoken","mern-stack","mongodb","mongoose","multer","nodejs","paypal","postman","react","react-bootstrap","react-router","redux","redux-thunk"],"latest_commit_sha":null,"homepage":"https://the-knitty-gritty.herokuapp.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rh9891.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-28T21:22:41.000Z","updated_at":"2023-09-24T17:39:28.608Z","dependencies_parsed_at":"2023-09-24T17:56:02.200Z","dependency_job_id":null,"html_url":"https://github.com/rh9891/TheKnittyGritty","commit_stats":null,"previous_names":["rh9891/theknittygritty"],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rh9891%2FTheKnittyGritty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rh9891%2FTheKnittyGritty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rh9891%2FTheKnittyGritty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rh9891%2FTheKnittyGritty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rh9891","download_url":"https://codeload.github.com/rh9891/TheKnittyGritty/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241494708,"owners_count":19971964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","bcryptjs","database-seeder","ecommerce","express","express-async-handler","heroku","jsonwebtoken","mern-stack","mongodb","mongoose","multer","nodejs","paypal","postman","react","react-bootstrap","react-router","redux","redux-thunk"],"created_at":"2025-03-02T11:19:39.125Z","updated_at":"2025-12-30T19:06:48.611Z","avatar_url":"https://github.com/rh9891.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Knitty Gritty\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-ff0000.svg)](https://opensource.org/licenses/MIT)\n![Vite](https://img.shields.io/badge/Built%20with-Vite-fd7e14.svg)\n![React](https://img.shields.io/badge/Framework-React-ffce67.svg)\n![TypeScript](https://img.shields.io/badge/Language-TypeScript-228B22.svg)\n![Node.js](https://img.shields.io/badge/Backend-Node.js-007bff.svg)\n![Express](https://img.shields.io/badge/Server-Express.js-4B0082.svg)\n![Axios](https://img.shields.io/badge/HTTP%20Client-Axios-8A2BE2.svg)\n![PayPal](https://img.shields.io/badge/Payments-PayPal-e83e8c.svg)\n![React Router](https://img.shields.io/badge/Router-React%20Router-FF6961.svg)\n![React Icons](https://img.shields.io/badge/Icons-React%20Icons-FFB347.svg)\n![MongoDB](https://img.shields.io/badge/Database-MongoDB-FDFD96.svg)\n![Mongoose](https://img.shields.io/badge/ODM-Mongoose-77DD77.svg)\n![Redux Toolkit](https://img.shields.io/badge/State-Redux%20Toolkit-AEC6CF.svg)\n![React Bootstrap](https://img.shields.io/badge/UI%20Library-React%20Bootstrap-CBAACB.svg)\n![Cloudinary](https://img.shields.io/badge/Media%20Storage-Cloudinary-DCC6E0.svg)\n\n## Table of Contents\n\n- [Description](#description)\n- [User Story](#user-story)\n- [Features of the Application](#features-of-the-application)\n- [Preview of The Knitty Gritty](#preview-of-the-knitty-gritty)\n- [Links](#links)\n- [Quick Start](#quick-start)\n- [Built Using](#built-using)\n- [License](#license)\n\n## Description\n\nWelcome to The Knitty Gritty – your cozy corner of the internet for all things yarn. Whether you're a seasoned stitcher\nor just starting your fiber journey, we've got the yarns, tools, and inspiration you need to create something beautiful.\n\nThe Knitty Gritty is a full-stack eCommerce application built with React, Vite, Redux Toolkit, Node.js, Express, and\nMongoDB. It features:\n\n- 🧺 A fully functional shopping cart with PayPal and credit/debit card payments\n- 🌟 A product rating and review system to help shoppers choose with confidence\n- 🛠 Admin tools for managing products, orders, and customers\n- 📦 Product pagination for easy navigation\n\nEverything’s designed with a yarn-lover’s experience in mind - from browsing to checkout and beyond.\n\n## User Story\n\n```\nAS AN online customer,\nI WANT TO search for products,\nSO THAT I CAN find the ones I want to buy.\n\nGIVEN an eCommerce application,\nWHEN I search for a product by name or description,\nTHEN I can view products and their respective images with details for each product.\n\nWHEN I have found a product that I would like to purchase,\nTHEN I can add it to my cart from the product page.\n\nWHEN I authenticate myself,\nTHEN I can see my account details and past orders.\n\nWHEN trying to register for an account,\nTHEN I am informed clearly of any errors, so that I can be properly authenticated to create an account.\n\nWHEN I go to make a purchase,\nTHEN I can submit my credit card details or Paypal information and get authorization to complete my checkout.\n\nWHEN I have made a purchase,\nTHEN I will get my order fulfilled in a timely manner.\n\n```\n\n## Features of the Application\n\n- Easy login and registration process with simplified forms and authentication.\n- Product search feature for user-friendly filtering.\n- Extensive, detailed product descriptions.\n- Top-rated products, advertisement, and special offers featured on carousel to engage the user.\n- Shopping cart with multiple features that aids user in proceeding to checkout.\n- Shipping process for user to add their shipping address and figure their delivery cost.\n- Order summary page for user to verify purchase before committing to payment.\n- Secure in-app payments through credit card integration and Paypal.\n- For an optimal checkout process, the user is provided with a detailed invoice of their order.\n- After completing purchase, user is provided with shipping status. (Admin product management allows ability to mark\n  order as delivered upon delivery.)\n- Users can view product reviews and ratings to make informed purchasing decisions, while also helping build trust and\n  credibility for the company.\n- Product pagination to aid in user-friendly shopping experience.\n- Admin management for all order details, product inventory, product creation/edit/deletion, and users.\n- Full-featured checkout process (delivery method, payment method/integration, order summary, detailed invoice, etc.)\n- Database seeder for products and users.\n\n## Preview of The Knitty Gritty\n\n![The Knitty Gritty Landing Page](https://github.com/user-attachments/assets/7b01c427-9814-4ac3-81bb-8a0660b8b397)\n\n![The Knitty Gritty Top-Rated Page](https://github.com/user-attachments/assets/4c484338-f580-444e-ade0-a149b8673ef6)\n\n![The Knitty Gritty Product Page](https://github.com/user-attachments/assets/2d1d8637-e045-4067-8e7c-f540687ce195)\n\n![The Knitty Gritty Cart Page](https://github.com/user-attachments/assets/51bec0a8-ca3b-42a8-b5b2-9b8d2aa825be)\n\n![The Knitty Gritty Admin Users Page](https://github.com/user-attachments/assets/680a17d8-dcbd-46ea-a3e0-ef05fb5a8b4a)\n\n![The Knitty Gritty Admin Orders Page](https://github.com/user-attachments/assets/6f3f8bb4-e620-4d6d-8a07-e0a3cd005bde)\n\n![The Knitty Gritty Admin Products Page](https://github.com/user-attachments/assets/bab2969c-c37c-4bf6-8387-b305665c2073)\n\n## Links\n\n- [Deployed Application](https://theknittygritty.onrender.com)\n\n- [Github Repository](https://github.com/rh9891/TheKnittyGritty)\n\n## Quick Start\n\nRun the application locally with these steps:\n\n```\n$ npm install\n```\n\n```\n$ npm run dev\n```\n\nBelow is a sample customer login for accessing most features of the application:\n\n```\nThe Knitty Gritty Customer Login:\n\nEmail: sophia.petrillo@email.com\nPassword: GoldenGirl1\n```\n\n```\nPayPal Sandbox Account Login:\n\nEmail: sophia.petrillo@email.com\nPassword: GoldenGirl1\n```\n\n## Built Using\n\nThis project was built using the following technologies:\n\n- [React](https://reactjs.org/docs/getting-started.html)\n- [Vite](https://vitejs.dev/)\n- [Redux Toolkit](https://redux-toolkit.js.org/)\n- [Express](https://expressjs.com/)\n- [MongoDB](https://www.mongodb.com/what-is-mongodb)\n- [Node](https://nodejs.org/en/about/)\n- [Cloudinary](https://cloudinary.com/)\n- [Traversy Media Tutorials](https://www.traversymedia.com)\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2025 Romie Hecdivert\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit\npersons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frh9891%2Ftheknittygritty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frh9891%2Ftheknittygritty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frh9891%2Ftheknittygritty/lists"}