From 7405741983838b14dfbe6603e537d7deef75ebf9 Mon Sep 17 00:00:00 2001 From: Alberto Olivi Date: Thu, 6 Jul 2023 14:05:08 -0400 Subject: [PATCH 01/13] added Alberto for Team Information --- docs/instructions/p0.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/instructions/p0.md b/docs/instructions/p0.md index 8895ba8b..68dcf7d5 100644 --- a/docs/instructions/p0.md +++ b/docs/instructions/p0.md @@ -12,18 +12,18 @@ One member of your group should fork the [template repository](https://github.co Replace the following information with your team's information. Remember that two people working on the same file at the same time can cause merge conflicts, so be sure to communicate with your team members to avoid this. Before you make any changes, pull the latest changes from the `main` branch to your local machine. After you make your changes, commit and push them to the `main` branch. Alternatively, one person can make all required changes to this document and then push them to the `main` branch. -- **Team Member Name:** Jane Doe - - **Github Username:** jdoe - - **Niner Net ID:** jdoe -- **Team Member Name:** John Doe - - **Github Username:** jdoe1 - - **Niner Net ID:** jdoe1 -- **Team Member Name:** Tim H - - **Github Username:** electric-sun-20 - - **Niner Net ID:** theideck -- **Team Member Name:** Greg T - - **Github Username:** vville-film-archives - - **Niner Net ID:** gturk +- **Team Member Name:** Alberto Olivi + - **Github Username:** olivialba + - **Niner Net ID:** aolivi +- **Team Member Name:** + - **Github Username:** + - **Niner Net ID:** +- **Team Member Name:** + - **Github Username:** + - **Niner Net ID:** +- **Team Member Name:** + - **Github Username:** + - **Niner Net ID:** ## Task 3: Commit and Push Changes From bc073262e0aa8198f830139cbf02c41f84d3433b Mon Sep 17 00:00:00 2001 From: aaljabali1 <135615484+aaljabali1@users.noreply.github.com> Date: Sun, 9 Jul 2023 20:06:10 +0300 Subject: [PATCH 02/13] Added Abdulrahamn Aljabali information --- docs/instructions/p0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/instructions/p0.md b/docs/instructions/p0.md index 68dcf7d5..b1d3309d 100644 --- a/docs/instructions/p0.md +++ b/docs/instructions/p0.md @@ -15,9 +15,9 @@ Replace the following information with your team's information. Remember that tw - **Team Member Name:** Alberto Olivi - **Github Username:** olivialba - **Niner Net ID:** aolivi -- **Team Member Name:** - - **Github Username:** - - **Niner Net ID:** +- **Team Member Name:** Abdulrahamn Aljabali + - **Github Username:** aaljabali1 + - **Niner Net ID:** aaljabal - **Team Member Name:** - **Github Username:** - **Niner Net ID:** From fd38691dadc200dd528a61f100a5bec0b6bb5a35 Mon Sep 17 00:00:00 2001 From: Alberto Olivi Date: Wed, 12 Jul 2023 09:08:20 -0400 Subject: [PATCH 03/13] Added Alberto in p1 --- docs/instructions/p1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index c090556e..03fcdbf3 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -6,7 +6,7 @@ Fill the document out following the guidelines listed in each section. Maintain ## Group Members -- [Name](mailto:email@uncc.edu) +- [Alberto Olivi](mailto:aolivi@uncc.edu) - [Name](mmailto:email@uncc.edu) - [Name](mmailto:email@uncc.edu) - [Name](mmailto:email@uncc.edu) From ae339df946b1360484feb26b78fd8ed06373474c Mon Sep 17 00:00:00 2001 From: Alberto Olivi Date: Wed, 12 Jul 2023 09:47:23 -0400 Subject: [PATCH 04/13] Added more team information --- docs/instructions/p0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/instructions/p0.md b/docs/instructions/p0.md index b1d3309d..f7634813 100644 --- a/docs/instructions/p0.md +++ b/docs/instructions/p0.md @@ -18,10 +18,10 @@ Replace the following information with your team's information. Remember that tw - **Team Member Name:** Abdulrahamn Aljabali - **Github Username:** aaljabali1 - **Niner Net ID:** aaljabal -- **Team Member Name:** +- **Team Member Name:** Alima Conde - **Github Username:** - **Niner Net ID:** -- **Team Member Name:** +- **Team Member Name:** Jacob George - **Github Username:** - **Niner Net ID:** From 37849a7da3f692b4b8d91bcd5f0bb733a97eb2ef Mon Sep 17 00:00:00 2001 From: Alberto Olivi Date: Mon, 17 Jul 2023 08:37:08 -0400 Subject: [PATCH 05/13] p1.md update from Alberto --- docs/instructions/p1.md | 58 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index 03fcdbf3..71cb597c 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -18,6 +18,7 @@ When a change is made to the document, a new revision should be created. The rev | Version | Date | Description | Author | Reviewed By | | --- | --- | --- | --- | --- | | 1.0 | 03/22/23 | Initial draft | [David Gary](mailto:dgary9@uncc.edu) | [David Gary](mailto:dgary@uncc.edu) | +| 1.1 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User stories, Glossary | [Alberto Olivi](mailto:aolivi@uncc.edu) | [Alberto Olivi](mailto:aolivi@uncc.edu) | ## Table of Contents @@ -30,7 +31,7 @@ When a change is made to the document, a new revision should be created. The rev ## Introduction -In this section, you should give a brief overview of what your project will be. Describe the software system you are building and what problems it solves. You should also give a short description of the stakeholders (users of the system) and what their needs are. There is no set formatting requirement, but you should maintain a consistent structure across future sections. Not all members must contribute to this section. +This project's objective is to develop an easy-to-use online store using a combination of Python, CSS, and HTML. Our goal is to provide a superior electronic shopping experience by showcasing a diverse selection of meticulously curated high-quality products, with a particular focus on the tech field. ## Requirements @@ -49,10 +50,35 @@ Each group member must supply at least three functional requirements for the pro - **Rationale:** A short description of why the requirement is important. This should be a single sentence that describes why the requirement is important. - **Testing:** A short description of how the requirement can be tested. This should be a single sentence that describes how the requirement can be tested. +- **REQ-1:** (AO) + - **Description:** The online store should display a website logo that redirects to the site's homepage. + - **Type:** Functional + - **Priority:** 3 + - **Rationale:** This function allows for easy navigation, and easy access to the homepage for customers. + - **Testing:** Can be tested by clicking on the website logo and that it redirects the user to the homepage everytime. + +- **REQ-2:** (AO) + - **Description:** The store should allow customers to make their personal accounts. + - **Type:** Functional + - **Priority:** 1 + - **Rationale:** Personal accounts allow to save information about a specific customer, like orders, wishlist, or payment methods. + - **Testing:** Test that accounts can be successfully created and they can store the customer's information and orders. + +- **REQ-3:** (AO) + - **Description:** The customers should be able to create a favorite / wishlist to save products they want. + - **Type:** Functional + - **Priority:** 2 + - **Rationale:** Easy way for customers to track items that they want and may buy in the future. + - **Testing:** Test that items can be saved to the wishlist and can be accessed again later. + ## Constraints In this section, you should list any constraints that you have for the project. Each group member must supply at least two constraints. These can be constraints on the project itself, the software system, or the stakeholders. Constraints can be anything that limits the scope of the project. For example, that this project's template code is written using Flask and Python constitutes a constraint on the backend of the project. Constraints can also be things like the required timeline of the project. Be creative. +- **1**: Resource Constraint (AO): The project team consists of four members, limiting the amount of work that can to be done to complete the project before the deadline. All communication and coordination is conducted online, which can provide an additional constraint in teamwork. + +- **2**: Programming Knowledge Constraint (AO): The team may not have all the required or needed knowledge to successfully complete the entire project, or fix every problem/bug that we may find; possibly resulting in additional challenges that will take up more of our time. + ## Use Cases In this section, you should list use cases for the project. Use cases are a thorough description of how the system will be used. Each group member must supply at least two use cases. Each use case should be written in the following format: @@ -63,6 +89,25 @@ In this section, you should list use cases for the project. Use cases are a thor - **Preconditions:** A list of the preconditions for the use case. This should be a list of the preconditions for the use case, which are the conditions that must be met before the use case can be executed. Continuing with the restaurant example, the customer must have money in their wallet and the cashier must be logged in to the system before the use case of ordering food can be executed. - **Postconditions:** A list of the postconditions for the use case. This should be a list of the postconditions for the use case, which are the conditions that must be met after the use case has been executed. Continuing with the restaurant example, the customer must have their food and the cashier must have the customer's money after the use case of ordering food has been executed. +- **UC-1:** (AO) + - **Description:** The customer register a new account. + - **Actors:** Customer, Registering System + - **Preconditions:** + - The customer must have access to the store website. + - The customer must have an email. + - **Postconditions:** + - The customer will have a registered a new account. + - The customer can log in the system with that new account. + +- **UC-2:** (AO) + - **Description:** The customer search for a product. + - **Actors:** Customer, Search Database + - **Preconditions:** + - The website must be online and available to the customer. + - **Postconditions:** + - The customer will see results that match their search request. + - The customer can click on a product to open the product's page. + ## User Stories In this section, you should list user stories for the project. User stories are a short description of how a user will be interacting with the system. Each group member must supply at least two user stories. Each user story should be written in the following format: @@ -71,6 +116,14 @@ In this section, you should list user stories for the project. User stories are - **Type of User:** The type of user that the user story is for. This should be a single word that describes the type of user. For example, a user story for a customer might be `Customer` and a user story for an administrator might be `Admin`. - **Description:** A description of the user story that gives a narrative from that user's perspective. This can be any length, but it must paint the picture of what the user wants to do, how they intend to do it, why they want to, and what they expect to happen. +- **US-1:** (AO) + - **Type of User:** Customer + - **Description:** As a customer, I want to be able to search directly for a product without having to register an account. I want to be able to go the store, look into the category that I want and search for any products that matches my description. + +- **US-2:** (AO) + - **Type of User:** Administrator + - **Description:** As an administrator, I want to be able to go into the site database to see and track the inventory, as well as any product that was sold, while also being able to sort the inventory alphabetically, by price, or date sold. + ## Glossary In this section, you should list any terms that are used in the document that may not be immediately obvious to a naive reader. Each group member must supply at least one term. Each term should be written in the following format: @@ -78,6 +131,9 @@ In this section, you should list any terms that are used in the document that ma - **Term:** The term that is being defined. This should be a single word or phrase that is being defined. - **Definition:** A definition of the term. This should be a short description of the term that is being defined. This should be a single sentence that describes the term. +- **Term:** Database (AO) + - **Definition:** A collection of structured information or data that is stored electronically and can be easily accessed and managed. Here, it's used to store products, orders and user's information. + Try to only list terms that a naive user would not understand. ## Submission Details From d9c7d3bb7471981d3acce0dd167a2c0cb145097e Mon Sep 17 00:00:00 2001 From: jgeorg24 <135657590+jgeorg24@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:32:17 -0400 Subject: [PATCH 06/13] Update p1.md --- docs/instructions/p1.md | 59 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index 71cb597c..a173e3d3 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -7,7 +7,7 @@ Fill the document out following the guidelines listed in each section. Maintain ## Group Members - [Alberto Olivi](mailto:aolivi@uncc.edu) -- [Name](mmailto:email@uncc.edu) +- [Jacob George](mmailto:jgeorg24@uncc.edu) - [Name](mmailto:email@uncc.edu) - [Name](mmailto:email@uncc.edu) @@ -19,6 +19,7 @@ When a change is made to the document, a new revision should be created. The rev | --- | --- | --- | --- | --- | | 1.0 | 03/22/23 | Initial draft | [David Gary](mailto:dgary9@uncc.edu) | [David Gary](mailto:dgary@uncc.edu) | | 1.1 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User stories, Glossary | [Alberto Olivi](mailto:aolivi@uncc.edu) | [Alberto Olivi](mailto:aolivi@uncc.edu) | +| 1.2 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User Stories, Glossary | [Jacob George](mmailto:jgeorg24@uncc.edu) | [Jacob George](mmailto:jgeorg24@uncc.edu) | ## Table of Contents @@ -70,6 +71,27 @@ Each group member must supply at least three functional requirements for the pro - **Priority:** 2 - **Rationale:** Easy way for customers to track items that they want and may buy in the future. - **Testing:** Test that items can be saved to the wishlist and can be accessed again later. + +- **REQ-4:** (JG) + - **Description:** The customers should be able to add products to a shopping cart and view the contents of the cart. + - **Type:** Functional + - **Priority:** 2 + - **Rationale:** Allows users to select products for purchase and review their selections before proceeding to checkout. + - **Testing:** Test by adding products to the cart and verifying that the products are added to the cart. + +- **REQ-5:** (JG) + - **Description:** The online store should provide a product filtering and sorting feature. + - **Type:** Functional + - **Priority:** 1 + - **Rationale:** Easy way for customers to shop by filtering options, helping customers narrow down their search. + - **Testing:** Test the filtering and sorting functionality by applying different filters and verifying that the displayed products are sorted. + +- **REQ-6:** (JG) + - **Description:** The customers should be able to have a guest checkout option for customers who prefer not to create an account. + - **Type:** Functional + - **Priority:** 1 + - **Rationale:** Easy way for customers who don't want to make an account check out fast. + - **Testing:** Test while checkout to see if customer has to sign in or not with account information. ## Constraints @@ -79,6 +101,10 @@ In this section, you should list any constraints that you have for the project. - **2**: Programming Knowledge Constraint (AO): The team may not have all the required or needed knowledge to successfully complete the entire project, or fix every problem/bug that we may find; possibly resulting in additional challenges that will take up more of our time. +- **3**: Language Constraint (JG): Python, CSS, and HTML must be the only programming languages and frameworks used in the development of the online store. + +- **4**: Time Constraint Constraint (JG): The project has a strict deadline, which limits the available time for development, testing. + ## Use Cases In this section, you should list use cases for the project. Use cases are a thorough description of how the system will be used. Each group member must supply at least two use cases. Each use case should be written in the following format: @@ -107,6 +133,26 @@ In this section, you should list use cases for the project. Use cases are a thor - **Postconditions:** - The customer will see results that match their search request. - The customer can click on a product to open the product's page. + +- **UC-3:** (JG) + - **Description:** The customer adds a product to their shopping cart. + - **Actors:** : Customer, Shopping Cart + - **Preconditions:** + - The website must be online and available to the customer. + - The product must be available in the online store. + - **Postconditions:** + - The product is added to the customer's shopping cart. + - The shopping cart updates with the added product and its quantity. + +- **UC-4:** (JG) + - **Description:** The customer completes a purchase. + - **Actors:** Customer, Checkout Function + - **Preconditions:** + - The website must be online and available to the customer. + - The customer must have items in their shopping cart. + - **Postconditions:** + - The payment is processed and confirmed. + - The purchased items are removed from the customer's shopping cart. ## User Stories @@ -124,6 +170,14 @@ In this section, you should list user stories for the project. User stories are - **Type of User:** Administrator - **Description:** As an administrator, I want to be able to go into the site database to see and track the inventory, as well as any product that was sold, while also being able to sort the inventory alphabetically, by price, or date sold. +- **US-3:** (JG) + - **Type of User:** Customer + - **Description:** As a customer, I want to be able to complete a purchase as a guest without the need to create an account, so that I can make a quick purchase without providing additional personal information. + +- **US-4:** (JG) + - **Type of User:** Administrator + - **Description:** As an administrator, I want to be able to manage customer orders, including checking order data and changing order statuses. + ## Glossary In this section, you should list any terms that are used in the document that may not be immediately obvious to a naive reader. Each group member must supply at least one term. Each term should be written in the following format: @@ -134,6 +188,9 @@ In this section, you should list any terms that are used in the document that ma - **Term:** Database (AO) - **Definition:** A collection of structured information or data that is stored electronically and can be easily accessed and managed. Here, it's used to store products, orders and user's information. +- **Term:** Function (JG) + - **Definition:** A block of code that performs a specific task when called, taking in inputs and producing outputs. In this example it could be multiple things including the checkout function that allows customers to make a purchase with the input being the items in the shopping cart. + Try to only list terms that a naive user would not understand. ## Submission Details From 31247cb1eaaf6ba153ac8f9e73be01b5fe3c3b7e Mon Sep 17 00:00:00 2001 From: jgeorg24 <135657590+jgeorg24@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:39:53 -0400 Subject: [PATCH 07/13] Update p0.md --- docs/instructions/p0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/instructions/p0.md b/docs/instructions/p0.md index f7634813..bc72da08 100644 --- a/docs/instructions/p0.md +++ b/docs/instructions/p0.md @@ -22,8 +22,8 @@ Replace the following information with your team's information. Remember that tw - **Github Username:** - **Niner Net ID:** - **Team Member Name:** Jacob George - - **Github Username:** - - **Niner Net ID:** + - **Github Username:** jgeorg24 + - **Niner Net ID:** jgeorg24 ## Task 3: Commit and Push Changes From 0b5f1e75a4353acf78d59c49e75632323217e052 Mon Sep 17 00:00:00 2001 From: Alba <62316703+olivialba@users.noreply.github.com> Date: Mon, 17 Jul 2023 15:15:57 -0400 Subject: [PATCH 08/13] Small formatting cleanup to p1.md --- docs/instructions/p1.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index a173e3d3..60245867 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -7,9 +7,9 @@ Fill the document out following the guidelines listed in each section. Maintain ## Group Members - [Alberto Olivi](mailto:aolivi@uncc.edu) -- [Jacob George](mmailto:jgeorg24@uncc.edu) -- [Name](mmailto:email@uncc.edu) -- [Name](mmailto:email@uncc.edu) +- [Jacob George](mailto:jgeorg24@uncc.edu) +- [Name](mailto:email@uncc.edu) +- [Name](mailto:email@uncc.edu) ## Revisions @@ -19,7 +19,7 @@ When a change is made to the document, a new revision should be created. The rev | --- | --- | --- | --- | --- | | 1.0 | 03/22/23 | Initial draft | [David Gary](mailto:dgary9@uncc.edu) | [David Gary](mailto:dgary@uncc.edu) | | 1.1 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User stories, Glossary | [Alberto Olivi](mailto:aolivi@uncc.edu) | [Alberto Olivi](mailto:aolivi@uncc.edu) | -| 1.2 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User Stories, Glossary | [Jacob George](mmailto:jgeorg24@uncc.edu) | [Jacob George](mmailto:jgeorg24@uncc.edu) | +| 1.2 | 07/17/23 | JG added: Requirements, Constraints, Use cases, User Stories, Glossary | [Jacob George](mailto:jgeorg24@uncc.edu) | [Jacob George](mailto:jgeorg24@uncc.edu) | ## Table of Contents @@ -119,40 +119,40 @@ In this section, you should list use cases for the project. Use cases are a thor - **Description:** The customer register a new account. - **Actors:** Customer, Registering System - **Preconditions:** - - The customer must have access to the store website. - - The customer must have an email. + - The customer must have access to the store website. + - The customer must have an email. - **Postconditions:** - - The customer will have a registered a new account. - - The customer can log in the system with that new account. + - The customer will have a registered a new account. + - The customer can log in the system with that new account. - **UC-2:** (AO) - **Description:** The customer search for a product. - **Actors:** Customer, Search Database - **Preconditions:** - - The website must be online and available to the customer. + - The website must be online and available to the customer. - **Postconditions:** - - The customer will see results that match their search request. - - The customer can click on a product to open the product's page. + - The customer will see results that match their search request. + - The customer can click on a product to open the product's page. - **UC-3:** (JG) - **Description:** The customer adds a product to their shopping cart. - **Actors:** : Customer, Shopping Cart - **Preconditions:** - - The website must be online and available to the customer. - - The product must be available in the online store. + - The website must be online and available to the customer. + - The product must be available in the online store. - **Postconditions:** - - The product is added to the customer's shopping cart. - - The shopping cart updates with the added product and its quantity. + - The product is added to the customer's shopping cart. + - The shopping cart updates with the added product and its quantity. - **UC-4:** (JG) - **Description:** The customer completes a purchase. - **Actors:** Customer, Checkout Function - **Preconditions:** - - The website must be online and available to the customer. - - The customer must have items in their shopping cart. + - The website must be online and available to the customer. + - The customer must have items in their shopping cart. - **Postconditions:** - - The payment is processed and confirmed. - - The purchased items are removed from the customer's shopping cart. + - The payment is processed and confirmed. + - The purchased items are removed from the customer's shopping cart. ## User Stories From d3db5d12a1c6cddf1ef9b9a049e292bb820033ee Mon Sep 17 00:00:00 2001 From: aaljabali1 <135615484+aaljabali1@users.noreply.github.com> Date: Mon, 17 Jul 2023 22:41:19 +0300 Subject: [PATCH 09/13] Updated p1.md by aaljabali (AA) Added my part for the Project by including the uses cases, constraints, user stories and requirements. --- docs/instructions/p1.md | 65 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index a173e3d3..e5839751 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -8,7 +8,7 @@ Fill the document out following the guidelines listed in each section. Maintain - [Alberto Olivi](mailto:aolivi@uncc.edu) - [Jacob George](mmailto:jgeorg24@uncc.edu) -- [Name](mmailto:email@uncc.edu) +- [Abdulrahamn Aljabali](mailto:aaljabal@uncc.edu) - [Name](mmailto:email@uncc.edu) ## Revisions @@ -20,6 +20,7 @@ When a change is made to the document, a new revision should be created. The rev | 1.0 | 03/22/23 | Initial draft | [David Gary](mailto:dgary9@uncc.edu) | [David Gary](mailto:dgary@uncc.edu) | | 1.1 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User stories, Glossary | [Alberto Olivi](mailto:aolivi@uncc.edu) | [Alberto Olivi](mailto:aolivi@uncc.edu) | | 1.2 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User Stories, Glossary | [Jacob George](mmailto:jgeorg24@uncc.edu) | [Jacob George](mmailto:jgeorg24@uncc.edu) | +| 1.2.1 | 07/17/23 | AO added: Requirements, Constraints, Use cases, User Stories, Glossary | [Abdulrahamn Aljabali](mailto:aaljabal@uncc.edu) | [Abdulrahamn Aljabali](mailto:aaljabal@uncc.edu) | ## Table of Contents @@ -32,7 +33,7 @@ When a change is made to the document, a new revision should be created. The rev ## Introduction -This project's objective is to develop an easy-to-use online store using a combination of Python, CSS, and HTML. Our goal is to provide a superior electronic shopping experience by showcasing a diverse selection of meticulously curated high-quality products, with a particular focus on the tech field. +This project's objective is to develop an easy-to-use online store using a combination of Python, CSS, and HTML. Our goal is to provide a superior electronic shopping experience by showcasing a diverse selection of meticulously curated high-quality products, with a particular focus on the tech field. We are hoping to integrate many useful as well as eye catching elements for the store to set us apart from the competition. ## Requirements @@ -91,7 +92,28 @@ Each group member must supply at least three functional requirements for the pro - **Type:** Functional - **Priority:** 1 - **Rationale:** Easy way for customers who don't want to make an account check out fast. - - **Testing:** Test while checkout to see if customer has to sign in or not with account information. + - **Testing:** Test while checkout to see if customer has to sign in or not with account information. + +- **REQ-7:** (AA) + - **Description:** The store must be able to display thew items neatly showing a picture of the item with it's name and price + - **Type:** Functional & visual + - **Priority:** 1 + - **Rationale:** Having neat and visually appealing items displayed is a bonus for the website as the customers can see the products + directly. + - **Testing:** Create some items, and when checking the items page see how they display. + +- **REQ-8:** (AA) + - **Description:** Create a database system that stores all information of the store including but not limited to: customers, items, carts, orders. + - **Type:** Functional + - **Priority:** 1 + - **Rationale:** the database is a must in order to save all the information and be able to provide updated information of the online store as that information is constantly being modified and viewed. + - **Testing:** load the database with some basic data and interact with every component (functions) of the online store and see if database is updating accordingly or is missing parameters. + +- **REQ-9:** (AA) + - **Description:** The online must keep track of number of items in stock and display an out of stock logo when quantity reaches zero. + - **Priority:** 2 + - **Rationale:** if a product is out of stock it should be made apparent to the customer as soon as possible as not to waste time clicking on the product and seeing it is no longer available. + - **Testing:** set item stock to 0 and see if it updates accordingly when displaying products. ## Constraints @@ -105,6 +127,10 @@ In this section, you should list any constraints that you have for the project. - **4**: Time Constraint Constraint (JG): The project has a strict deadline, which limits the available time for development, testing. +- **5**: Uniquness constraint (AA): The project's topic is derived from a set of templates that every group is going to put to use, so having a truly unique project, visuals and functionalities in order to set us apart from other teams is going to take a lot of creativity. + +- **6**: lack of functionalities constraint (AA): due to the team's lack of professional programming expertise, it might be hard to come up with functionalities that you might expect to have in a regular online shop such as automated payments, advanced visuals and other advanced functionalities which makes other functionalities kind of bland and more criticised. + ## Use Cases In this section, you should list use cases for the project. Use cases are a thorough description of how the system will be used. Each group member must supply at least two use cases. Each use case should be written in the following format: @@ -154,6 +180,28 @@ In this section, you should list use cases for the project. Use cases are a thor - The payment is processed and confirmed. - The purchased items are removed from the customer's shopping cart. +- **UC-5:** (AA) + - **Description:** The customer login into their account. + - **Actors:** Customer, login System + - **Preconditions:** + - The customer must have access to the store website. + - The customer must have an already registered account. + - the customer must enter the correct username and password. + - **Postconditions:** + - The customer will now have access to their account on the system. + - The customer can view their favorties, wishlist, and order history. + +- **UC-6:** (AA) + - **Description:** The administrator (user still unclear) adds a new product. + - **Actors:** admin, admin page + - **Preconditions:** + - The adminstrator must have an account in the database. + - The user must be logged in as an administrator. + - **Postconditions:** + - A newly added product will be available in the store. + - the new product is registred in the database. + + ## User Stories In this section, you should list user stories for the project. User stories are a short description of how a user will be interacting with the system. Each group member must supply at least two user stories. Each user story should be written in the following format: @@ -177,6 +225,14 @@ In this section, you should list user stories for the project. User stories are - **US-4:** (JG) - **Type of User:** Administrator - **Description:** As an administrator, I want to be able to manage customer orders, including checking order data and changing order statuses. + +- **US-5:** (AA) + - **Type of User:** customer + - **Description:** As a customer i want to be able to log into the store system and access my past orders as well as my favorite items. + +- **US-6:** (AA) + - **Type of User:** Administrator + - **Description:** As an administrator, I want to be able to add new products and be able to edit their description, quantity or update their images. ## Glossary @@ -190,6 +246,9 @@ In this section, you should list any terms that are used in the document that ma - **Term:** Function (JG) - **Definition:** A block of code that performs a specific task when called, taking in inputs and producing outputs. In this example it could be multiple things including the checkout function that allows customers to make a purchase with the input being the items in the shopping cart. + +- **Term:** constraint (AA) + - **Definition:** a constraint is a limitation or restriction to be able to do or achieve something. Try to only list terms that a naive user would not understand. From 5151cd020b15118bf248329c4e48e77085d27c43 Mon Sep 17 00:00:00 2001 From: Alima <100006726+alimacnde@users.noreply.github.com> Date: Mon, 17 Jul 2023 22:09:33 -0400 Subject: [PATCH 10/13] p0.md --- docs/instructions/p0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/instructions/p0.md b/docs/instructions/p0.md index bc72da08..c371ae83 100644 --- a/docs/instructions/p0.md +++ b/docs/instructions/p0.md @@ -19,8 +19,8 @@ Replace the following information with your team's information. Remember that tw - **Github Username:** aaljabali1 - **Niner Net ID:** aaljabal - **Team Member Name:** Alima Conde - - **Github Username:** - - **Niner Net ID:** + - **Github Username:** alimacnde + - **Niner Net ID:** aconde4 - **Team Member Name:** Jacob George - **Github Username:** jgeorg24 - **Niner Net ID:** jgeorg24 From d2d8827ab7974336546a1145552f050a4a77d3cf Mon Sep 17 00:00:00 2001 From: Alima <100006726+alimacnde@users.noreply.github.com> Date: Tue, 18 Jul 2023 16:30:56 -0400 Subject: [PATCH 11/13] p1.md --- docs/instructions/p1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index f90f9eb7..d9cdb69b 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -9,7 +9,7 @@ Fill the document out following the guidelines listed in each section. Maintain - [Alberto Olivi](mailto:aolivi@uncc.edu) - [Jacob George](mailto:jgeorg24@uncc.edu) - [Abdulrahamn Aljabali](mailto:aaljabal@uncc.edu) -- [Name](mailto:email@uncc.edu) +- [Alima Conde](mailto:aconde4@uncc.edu) ## Revisions From 58c95ef386c56b38a57926f96ef67a97c14c4089 Mon Sep 17 00:00:00 2001 From: Alberto Olivi Date: Tue, 18 Jul 2023 17:06:03 -0400 Subject: [PATCH 12/13] Task 1 for authentication --- docs/diagrams/system/authentication_packages.png | Bin 0 -> 2853 bytes .../diagrams/system/authentication_packages.puml | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 docs/diagrams/system/authentication_packages.png create mode 100644 docs/diagrams/system/authentication_packages.puml diff --git a/docs/diagrams/system/authentication_packages.png b/docs/diagrams/system/authentication_packages.png new file mode 100644 index 0000000000000000000000000000000000000000..4576e7cd70a1210d18d69b5a4b5bd909602f0a4d GIT binary patch literal 2853 zcmds3XIm545~d1>+(i&saA~2}h|-Z3N&*s)5{j&{^qwFDq$5q#(0h*{UCM$8LIgx) zX;K5y6KO&M7%8DcZg8JlzT7`>znn79nVEOqbLPxEzh?qwyUcr;hK7dC5Ta*JLql6Z zU28MbQAc?UP=`86A@yyLP6*#%Zx>f24cGmz;){YA2{5;2!jDw>En_ss2}DnQBuLOwUis6J|u$qtHH} zz_&3zWISD1`|J?EAQAn7AD@5F^EswuYFdpG64g*P>Y&RNux{2v&zf#HL3_YJpKz>K z)2#FMBmD;&ElCv}w;Qu`7m{Ts%M9 zl*^^bB~&bcmF= zSe#_afqc6tlcT?A)rZbfI~N?SV+86}Zlz`p4Gl|AQjP+ z%PjZbKA~fz10bvE039Fh&+({B3_MHj64y*IkJHfy^rtyT8E*-1S%TG;1rr%%jSMaY zfD}5O0g}d4T$+r3`vcMscTBaEI{%FDYcKNO-&`2d2qiu0#2=kL8c{tsA67j$c=uQt zWniMs&aj#WaAac889lgP8A9D<-6IP!56Bi1b=WiPK$9_o5-p{bAwJuB!QQ$aM{SB; zPJ&){8pZCPWp_5Ww4lzJqu4nFMGn)%UQ}B*)Ok{hgHESeQe5`K-XSK5Y31c&W1>2& zLbM-sN3eQkGECN~0spNi0^#&+Cq>&UAmHtKrgmHkgd4kmCMxn8>cyjB$hizNZRK>S07}T3 zo)AW!?T|auM@*?Fa>vKb$E2e!3l(=Yg-4pzSiilSiCFeAcc+dWh zou8Lc6H^fqQOIc~0S6|f)Gg9xV7%jsIgj#6>q0QNAh+YswsCR#;V1iB_)bbr!?IOf zNE3M%7;I@%*+|I3Q1*Kc<{urToeJqby~5YFR6IGHz%-X6*B;rE3{E0W)e8(^)|=Js z{?UQ~z9%PP;H}}?Ur)mpKO!m!S$?oj8;K-)MH25VT!ksRn2|AixV7M<-TO2}O{Qd|B@FgFiN%DO<;-=#$h9+GXz{Cy#yKub6tB3O zSRgcHLVo4lYwOefy`9@$EgsGsyt0xWKUAO?I)?&crc!=}W_lLxMZ&d%lXx{;h)q{3 z3I?Pxq?W-t03nxhCS zrLxUZu)Lxq;7A$1A#lQp{;`+kGu)pidy^7Y+}zM$wg=S)K~%Ue{mPLLp%GS_tZW}M zo)J-TY}O^Hu~MmuI1iXFeLy<$MTgb}m3ySM5ySWT-KHKy3NKiNT-j*^JYdWL$HiTS zx+G(RyN6mvqfQdaQdaOP^UlSL`W@K?(NCY#+ zWK)*1=XDV;_Zm%Mhgf>>ynoMaX!-;!S<~pp{9c+NsbLQ^2<2a0?m3VvTh8jR+8SdM00@R#Q)H6&K|qPru*$zf`m^V?bx z;6x;TRp1K0aj*3d=4le8nZV<)z@U{1zmLqHEBDRA^b5E_Mo2+%U^^{}-{3A#iE{Gf z97Muy_vTX527^a@D|)&RdZgWHo4k(=N#xFh2X-`~M1BHH^ZD}XtSI)AtmTAS7Z}e62{i(DP>8 za=BX(=NCTGtoQ;SuG&A-H*fULbRcqOCsP=lDE8(W-VJ>_fN&;#xcIVjbQ!t*9W8l9 z;9;MZ#k-Zp*76^H&hg97{RfJ_uHV$ya0v0VIst3mhiUWm9akws1Q7A`d}zc)%rLb zDxfemG4ae~ppII8R!TF)DnlH^$6_eWvGyRylazF;yq84V4+7^l3$wFQ$C4 Date: Wed, 19 Jul 2023 13:58:04 -0400 Subject: [PATCH 13/13] p1.md --- docs/instructions/p1.md | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/instructions/p1.md b/docs/instructions/p1.md index d9cdb69b..46791ce8 100644 --- a/docs/instructions/p1.md +++ b/docs/instructions/p1.md @@ -113,7 +113,28 @@ Each group member must supply at least three functional requirements for the pro - **Description:** The online must keep track of number of items in stock and display an out of stock logo when quantity reaches zero. - **Priority:** 2 - **Rationale:** if a product is out of stock it should be made apparent to the customer as soon as possible as not to waste time clicking on the product and seeing it is no longer available. - - **Testing:** set item stock to 0 and see if it updates accordingly when displaying products. + - **Testing:** set item stock to 0 and see if it updates accordingly when displaying products. + +-**REQ-10:** (AC) + -**Description:** A function that will display the customer's total amount in dollars. + -**Type:** Functional + -**Priority:** 1 + -**Rationale:** Allows payments to be accepted and recieve correct amount + -**Testing:** Can be tested by adding items and checking out + +-**REQ-11:** (AC) + -**Description:** A function that will allow customers to express their feedback or experience + -**Type:** Functional + -**Priority:** 3 + -**Rationale:** Allows customer to share their feelings and experience to improve store quality for the future. + -**Testing:** Can be tested by implementing survey option where all responses will be stored. + +-**REQ-12:** (AC) + -**Description:** A feature that will allow customer to search for a specific item. + -**Type:** Functional + -**Priority:** 2 + -**Rationale:** Allows for easy and quick experience for the customer's desires. + -**Testing:** Can be tested by having multiple search results that are displayed when keywords are written in search bar. ## Constraints @@ -131,6 +152,10 @@ In this section, you should list any constraints that you have for the project. - **6**: lack of functionalities constraint (AA): due to the team's lack of professional programming expertise, it might be hard to come up with functionalities that you might expect to have in a regular online shop such as automated payments, advanced visuals and other advanced functionalities which makes other functionalities kind of bland and more criticised. +-**7**:Time Constraint(AC): Unlike Spring and Fall semesters, this summer course is fast-paced and there's not much time to spend doing research and planning out ideas. We just have to kind of start and work with the limited time we all have. + +-**8**:Software/Platform Constraint(AC): Must be available to all users on various devices and web browers. For example, we must adhere to the many screen resolutions that exist. + ## Use Cases In this section, you should list use cases for the project. Use cases are a thorough description of how the system will be used. Each group member must supply at least two use cases. Each use case should be written in the following format: @@ -200,7 +225,7 @@ In this section, you should list use cases for the project. Use cases are a thor - **Postconditions:** - A newly added product will be available in the store. - the new product is registred in the database. - + ## User Stories