Milestones
List view
## Sprint 4: Basket Page, Catalog Page Enhancements, and About Us Page Implementation 🚀 In this sprint, the team will concentrate on enhancing the Detailed Product Page 📝🔍, building the Basket page 🛒🛠️, and further enhancing the Catalog page 📚🌟. These enhancements will include features such as a comprehensive view of a product 🕶️🔍 with the option to add 📥 or remove 📤 the product from the cart, increase ⬆️ or decrease ⬇️ the quantity of the product, and display a clear indicator 🚦 if the product is already in the user's shopping cart 🛒. The team will also work on features for the Basket page 🛒📋 like displaying a list of items 📝📦 added to the basket, increasing ⬆️ or decreasing ⬇️ the quantity of each item, removing items ❌ from the basket, displaying the subtotal 💵 and total prices 💰, and a button 🖲️ for proceeding to the checkout page 💳. For the Catalog page 📚🌟, we will implement interactive product cards 🖼️👆 and shopping cart integration 🛒➕. All these features should be built using the commercetools API 🛠️🌐 for data retrieval and management. We will also implement performance optimization techniques 🚀💡 such as lazy loading ⏳, pagination 📄🔍, or infinite scroll 🔄 to handle a large number of products efficiently 📈. ### 🔧 Working with the Repository - 📌 Create a new branch for the current sprint (e.g., `release/basket-about_us`) from develop (branch from sprint #3 should have been already merged to develop). - 🔄 Merge all feature branches into the current sprint's branch. - 🎁 At the end of the sprint, create a pull request from the current sprint's branch (`release/basket-about_us`) to the `develop` branch. - ✅ Once the pull request has been reviewed and approved, merge the `release/basket-about_us` branch into the `develop` branch. - 📧 Share the pull request link with the mentor for review and evaluation. ### Evaluation Criteria: 📋 ### CrossCheck Criteria (285 points): ✅ ### Catalog Page Enhancements (70 points - Total) 🛒🌟 #### 1. Interactive Product Cards (10 points) 🖼️👆 - **(10 points)** 🎯 Include an "Add to Cart" button on each product card. [RSS-ECOMM-4_01](./Sprint4/RSS-ECOMM-4_01.md) #### 2. Shopping Cart Integration (35 points) 🛒➕ - **(35 points)** 🎯 Integrate the Catalog Product page with the chosen API (commercetools or any other simple API) to enable users to add products to their shopping cart directly from the product list 📝🛒. [RSS-ECOMM-4_02](./Sprint4/RSS-ECOMM-4_02.md) #### 3. Performance Optimization (25 points) 🚀💡 - **(25 points)** 🎯 Implement lazy loading ⏳, pagination 📄🔍, or infinite scroll 🔄 to efficiently load and display a large number of products without significant delays or performance issues, leveraging the commercetools API for product data retrieval 🌐🛠️. [RSS-ECOMM-4_03](./Sprint4/RSS-ECOMM-4_03.md) ### Detailed Product Page Implementation (30 points - Total) 📄🌟 #### 1. Add or Remove Product from Cart (30 points) 🛒🔄 - **(15 points)** 🎯 If the product is not already in the user's shopping cart 🛒, provide an "Add to Cart" button that adds the product with the selected options to their cart using the commercetools API 🌐. [RSS-ECOMM-4_07](./Sprint4/RSS-ECOMM-4_07.md) - **(15 points)** 🎯 If the product is already in the user's shopping cart 🛒, provide a "Remove from Cart" button that allows users to remove the product from their cart using the commercetools API 🌐. [RSS-ECOMM-4_08](./Sprint4/RSS-ECOMM-4_08.md) ### Basket Page Implementation (110 points - Total) 🛒🌟 #### 1. Display Basket Items (25 points) 📝👜 - **(25 points)** 🎯 Use the commercetools API 🌐 to fetch and display the list of items added to the basket along with essential details such as the name, image, and price 💲. [RSS-ECOMM-4_10](./Sprint4/RSS-ECOMM-4_10.md) #### 2. Modify Product Quantity (15 points) 📊🔢 - **(15 points)** 🎯 Allow users to modify the quantity of each product in the cart, updating the corresponding data using the commercetools API 🌐 and recalculating the total cost accordingly 💲. [RSS-ECOMM-4_11](./Sprint4/RSS-ECOMM-4_11.md) #### 3. Remove Product from Cart (15 points) ❌👜 - **(15 points)** 🎯 Provide a "Remove from Cart" button for each product, enabling users to delete items from the cart and updating the cart data using the commercetools API 🌐. [RSS-ECOMM-4_12](./Sprint4/RSS-ECOMM-4_12.md) #### 4. Recalculate Total Cost (15 points) 🧮💲 - **(15 points)** 🎯 Automatically recalculate the total cost of the items in the shopping cart when users modify product quantities or remove items from the cart, using the updated data from the commercetools API 🌐. [RSS-ECOMM-4_13](./Sprint4/RSS-ECOMM-4_13.md) #### 5. Display Empty Cart Message and Link to Catalog (10 points) 🚫🛒🔗 - **(5 points)** 🎯 When the shopping cart is empty, display a clear message 🚫 indicating the cart is empty. [RSS-ECOMM-4_14](./Sprint4/RSS-ECOMM-4_14.md) - **(5 points)** 🎯 Provide a link to the catalog of products within the empty cart message, guiding users to easily continue shopping 🛍 and explore other parts of the website 🌐. [RSS-ECOMM-4_15](./Sprint4/RSS-ECOMM-4_15.md) #### 6. Apply Promo Code and Display Updated Prices (20 points) 🏷💲 - **(15 points)** 🎯 Implement a feature that allows users to apply a promo code 🏷 to their order, offering discounts on eligible items, and updating the total cost of the cart accordingly 💲 using the commercetools API 🌐. [RSS-ECOMM-4_16](./Sprint4/RSS-ECOMM-4_16.md) - **(5 points)** 🎯 Display both the original price and the discounted price after applying the promo code, ensuring that the two prices are visually distinct 👀💲. [RSS-ECOMM-4_17](./Sprint4/RSS-ECOMM-4_17.md) #### 7. Clear Shopping Cart (10 points) 🧹🛒 - **(10 points)** 🎯 Provide a "Clear Shopping Cart" button that removes all items from the user's shopping cart and updates the cart data using the commercetools API 🌐. [RSS-ECOMM-4_18](./Sprint4/RSS-ECOMM-4_18.md) ### About Us Page Implementation (35 points - Total) 🤝🎉 #### 1. Introduction to the Development Team (25 points) 👩💻👨💻 - **(25 points)** 🎯 Create a comprehensive introduction to the development team, highlighting each member's contributions to the project 🛠, their effective collaboration methods 🤝, as well as personal details such as names, roles, short bios, relevant photos 📷, and GitHub profile links 🌐. [RSS-ECOMM-4_19](./Sprint4/RSS-ECOMM-4_19.md) #### 2. RS School Logo and Link (10 points) 🏫🔗 - **(10 points)** 🎯 Feature and link the RS School logo 🏫 on the "About Us" page, making it visible and recognizable 👁, and allowing users to learn more about the educational program by linking it to the school's website 🌐. [RSS-ECOMM-4_20](./Sprint4/RSS-ECOMM-4_20.md) ### Routing Implementation (20 points) 🗺🔀 - **(10 points)** 🎯 Implement routing for seamless navigation 🚀 to the Basket page 🛒 from all other pages, ensuring that the Basket page is accessible whether the user is logged in or not 🔒 and supporting browser navigation buttons ⏩. [RSS-ECOMM-4_21](./Sprint4/RSS-ECOMM-4_21.md) - **(10 points)** 🎯 Implement routing for seamless navigation 🚀 to the About Us page 🤝 from all other pages, ensuring that the About Us page is accessible whether the user is logged in or not 🔒 and supports browser navigation buttons ⏩. [RSS-ECOMM-4_22](./Sprint4/RSS-ECOMM-4_22.md) ### Evaluation Criteria for Header (20 points) 🎩🛠 - **(15 points)** 🎯 Implement a basket icon 🛒 in the header navigation, providing a link to the Basket page and displaying the quantity of items in the cart 🔢. [RSS-ECOMM-4_23](./Sprint4/RSS-ECOMM-4_23.md) - **(5 points)** 🎯 Incorporate an icon or link 🖱 in the header navigation leading to the About Us page 🤝. [RSS-ECOMM-4_24](./Sprint4/RSS-ECOMM-4_24.md) ### Penalties for Cross-Check Criteria (70 points - Total): ❌ 1. **Absence of Responsive Application Design (20 points):** If the application does not provide a responsive layout suitable for various devices and screen sizes, a penalty of 20 points will be applied. 📱🖥️🛑 2. **Errors in the Console (20 points):** Except for request errors, console errors, including favicon error, will resu
Overdue by 2 year(s)•Due by June 18, 2024•0/20 issues closed## Sprint 3: Catalog Product Page, Detailed Product Page & User Profile Page Implementation 📚🔍👥 In this sprint, the team will focus on implementing the Catalog Product page 📖, the Detailed Product page 🔍, and the User Profile page 👥. This includes fetching and displaying a list of products with essential details, implementing filtering, sorting, and searching functionality, designing interactive product cards, and providing navigation between product categories. All these features should be built using the commercetools API, or any other simple API, for product data retrieval and management. For the Detailed Product page, it should provide a comprehensive and user-friendly experience by displaying extensive product information. The page should feature an image slider 🖼️, a modal window for enlarged product images, breadcrumb navigation, and widgets for selecting product options. The User Profile page should present the user's personal information, including their first name, last name, date of birth, and a list of their addresses. Additionally, it should provide a user-friendly interface for users to switch to an edit mode, where they can update their personal details, email, and addresses. ### Working with the Repository 📂 ### 🔧 Working with the Repository - 📌 Create a new branch for the current sprint (e.g., `release/catalog-product-profile`) from develop (branch from sprint #2 should have been already merged to develop). - 🔄 Merge all feature branches into the current sprint's branch. - 🎁 At the end of the sprint, create a pull request from the current sprint's branch (`release/catalog-product-profile`) to the `develop` branch. - ✅ Once the pull request has been reviewed and approved, merge the `release/catalog-product-profile` branch into the `develop` branch. - 📧 Share the pull request link with the mentor for review and evaluation. ### Evaluation Criteria: 📋 ### CrossCheck Criteria (370 points): ✔️ --- ### Catalog Page Implementation (150 points - Total) 📚 #### 1. Display Product List (45 points) 📋 - **(25 points)** Use the commercetools API to fetch a list of products with essential details, such as name, image, and description. [RSS-ECOMM-3_01](./Sprint3/RSS-ECOMM-3_01.md) 💻 - **(20 points)** Display prices with and without discount for discounted products, ensuring that the discounted price is visually distinct and clearly indicates that it is the current price. [RSS-ECOMM-3_02](./Sprint3/RSS-ECOMM-3_02.md) 💵 #### 2. Product Filtering, Sorting, and Searching (65 points) 🔍 - **(30 points)** Utilize the commercetools API to offer robust filtering options for users to refine the product list based on attributes such as price range, brand, color, size, or other relevant characteristics. [RSS-ECOMM-3_03](./Sprint3/RSS-ECOMM-3_03.md) 🗂️ - **(15 points)** Enable users to sort the product list by various properties, such as price and name. [RSS-ECOMM-3_04](./Sprint3/RSS-ECOMM-3_04.md) 🔄 - **(20 points)** Implement an efficient and user-friendly search feature that allows users to quickly find and display relevant products based on their search query using the chosen API. [RSS-ECOMM-3_05](./Sprint3/RSS-ECOMM-3_05.md) 🔎 #### 3. Interactive Product Cards (15 points) 🃏 - **(10 points)** Design product cards that change their appearance when the user hovers over them, enhancing the browsing experience. [RSS-ECOMM-3_06](./Sprint3/RSS-ECOMM-3_06.md) 👆 - **(5 points)** Upon clicking a product card, redirect the user to a detailed product information page for the selected product. [RSS-ECOMM-3_07](./Sprint3/RSS-ECOMM-3_07.md) 🖱️ #### 4. Category Navigation (25 points) 🧭 - **(25 points)** Implement easy-to-use and clear navigation options for users to explore and switch between different product categories or subcategories using the commercetools API. [RSS-ECOMM-3_08](./Sprint3/RSS-ECOMM-3_08.md) 🗺️ ### Detailed Product Page Implementation (100 points - Total) 🔎 #### 1. Display Product Information (65 points) 📝 - **(25 points)** Use the commercetools API to fetch and display the product name, description, and images on the Detailed Product page. [RSS-ECOMM-3_09](./Sprint3/RSS-ECOMM-3_09.md) 🖼️ - **(25 points)** Implement an image slider for product images fetched from the chosen API, allowing users to view multiple images of the product. [RSS-ECOMM-3_10](./Sprint3/RSS-ECOMM-3_10.md) 🎞️ - **(15 points)** Display the product price fetched from the chosen API, and if the product is on sale, display both the original and discounted prices. [RSS-ECOMM-3_11](./Sprint3/RSS-ECOMM-3_11.md) 💰 #### 2. Enlarged Image Modal with Slider (35 points) 🖼️🔍 - **(20 points)** Allow users to click on the product image to open an enlarged version of the image in a modal window. [RSS-ECOMM-3_12](./Sprint3/RSS-ECOMM-3_12.md) 🔍 - **(15 points)** Enable users to navigate through all product images from the commercetools API using a slider inside the modal window. [RSS-ECOMM-3_13](./Sprint3/RSS-ECOMM-3_13.md) 🚀 ### User Profile Page Implementation (70 points - Total) 👥 #### 1. Display User Profile Information (30 points) 📋 - **(10 points)** Present the user's personal information, including first name, last name, date of birth, and a list of their addresses in the User Profile page. [RSS-ECOMM-3_14](./Sprint3/RSS-ECOMM-3_14.md) 📄 - **(20 points)** Provide a user-friendly interface for users to switch to an edit mode, where they can update their personal details, email, and addresses. [RSS-ECOMM-3_15](./Sprint3/RSS-ECOMM-3_15.md) ✏️ #### 2. Edit User Profile Information (40 points) ✏️ - **(10 points)** In the edit mode, allow users to update their personal information, including first name, last name, and date of birth and email. [RSS-ECOMM-3_16](./Sprint3/RSS-ECOMM-3_16.md) ✍️ - **(15 points)** Enable users to change their password. [RSS-ECOMM-3_17](./Sprint3/RSS-ECOMM-3_17.md) 🔑 - **(15 points)** Allow users to manage their addresses, including adding new addresses, deleting existing ones, and updating address details. [RSS-ECOMM-3_18](./Sprint3/RSS-ECOMM-3_18.md) 🏠 ### Routing Implementation (40 points - Total) 🛣️ - **(25 points)** Implement routing for navigation between Catalog page, Product detail page. [RSS-ECOMM-3_19](./Sprint3/RSS-ECOMM-3_19.md) 🚦 - **(15 points)** Implement routing for navigation to User Profile page. [RSS-ECOMM-3_20](./Sprint3/RSS-ECOMM-3_20.md) 🚧 ### Evaluation Criteria for Header (10 points - Total) 🖥️ - **(5 points)** Consistent header layout with necessary information like branding and user navigation across all the pages. [RSS-ECOMM-3_21](./Sprint3/RSS-ECOMM-3_21.md) 📐 - **(5 points)** User Profile link or button in the header, enabling navigation to User Profile page. [RSS-ECOMM-3_22](./Sprint3/RSS-ECOMM-3_22.md) ➡️ ### Penalties for Cross-Check Criteria (70 points - Total): ❌ 1. **Absence of Responsive Application Design (20 points):** If the application does not provide a responsive layout suitable for various devices and screen sizes, a penalty of 20 points will be applied. 📱🖥️🛑 2. **Errors in the Console (20 points):** Except for request errors, console errors, including favicon error, will result in a penalty of 20 points. Ensure your code is debugged and free of unnecessary errors for a smooth user experience. 🐛🔍🛑 3. **Usage of Data from commercetools-sunrise-data (30 points):** If a project is found to be using data directly from `commercetools-sunrise-data`, a penalty of 30 points will be applied. The intent is to encourage developers to use unique data sources and avoid ready-made datasets. 📊❌🛑 Please note that these penalties will be deducted from the final score. Strive for high-quality, error-free code and a responsive, user-friendly design for the best outcome. 🌟🏆💪 ### Mentor Evaluation Criteria (60 points - Total): 👨🏫 1. **Code Review Participation (10 points):** Students actively participate in code reviews, providing constructive feedback and suggestions to their peers. 🗣️ 2. **No Merges Without Approvals (10 points):** Pull requests are not merged without approvals from other team members, ensuring the quality of code contri
Overdue by 2 year(s)•Due by June 4, 2024•18/22 issues closed## 🎯 Sprint 2: Login, Registration, and Main Pages Implementation In the second sprint, the team will focus on implementing the login, registration and main pages, including input validation, integration with an authentication service, managing user authentication state, saving the authentication token, providing buttons to navigate between the login and registration pages, and implementing routing for proper navigation. The team's progress will be evaluated through a cross-check process, where other students will assign points based on achieving specific goals and milestones. The mentor will also evaluate the team's progress using separate evaluation criteria. ### 🔧 Working with the Repository - 📌 Create a new branch for the current sprint (e.g., `release/login-registration-main`) from the previous sprint's branch (`develop`). - 🔄 Merge all feature branches into the current sprint's branch. - 🎁 At the end of the sprint, create a pull request from the current sprint's branch (`release/login-registration-main`) to the previous sprint's branch (`develop`). - ✅ Once the pull request has been reviewed and approved, merge the `release/login-registration-main` branch into the `develop` branch. - 📧 Share the pull request link with the mentor for review and evaluation. ### ⭐ CrossCheck Criteria (315 points): ### 🖥️ Login Page Implementation (130 points - Total) #### Requirements #### 📝 1. Input Validation (40 points) - ☑️ **(20 points)** Implement client-side validation for the login form, including email and password fields. [RSS-ECOMM-2_01](./Sprint2/RSS-ECOMM-2_01.md) - ❌ **(20 points)** Display clear error messages indicating any validation issues, such as an improperly formatted email. [RSS-ECOMM-2_02](./Sprint2/RSS-ECOMM-2_02.md) #### 🔗 2. Integration with Authentication Service (45 points) - ☑️ **(25 points)** Integrate the login form with a chosen authentication service (CommerceTools) to handle user authentication. [RSS-ECOMM-2_03](./Sprint2/RSS-ECOMM-2_03.md) - ❌ **(20 points)** Implement error handling for failed authentication attempts, such as incorrect email or password, and display user-friendly error messages. [RSS-ECOMM-2_04](./Sprint2/RSS-ECOMM-2_04.md) #### 🔄 3. Redirection (30 points) - 🚀 **(15 points)** Redirect users to the application's main page upon successful login. [RSS-ECOMM-2_05](./Sprint2/RSS-ECOMM-2_05.md) - 🚀 **(15 points)** Redirect users who are already logged in to the main page if they try to access the login page. [RSS-ECOMM-2_06](./Sprint2/RSS-ECOMM-2_06.md) #### 🔑 4. Handle Authentication Token (10 points) - ☑️ **(10 points)** Obtain the authentication token securely after a successful login attempt by sending a request to the token endpoint (e.g., https://auth.europe-west1.gcp.commercetools.com/oauth/project_key/customers/token), allowing for seamless user authentication across the application. [RSS-ECOMM-2_07](./Sprint2/RSS-ECOMM-2_07.md) #### ➡️ 5. Navigation to Registration Page (5 points) - ☑️ **(5 points)** Add a button or link on the login page that allows users to navigate to the registration page. [RSS-ECOMM-2_08](./Sprint2/RSS-ECOMM-2_08.md) ### 🖊️ Registration Page Implementation (120 points - Total) #### Requirements #### 📝 1. Input Validation (45 points) - ☑️ **(25 points)** Implement client-side validation for all required fields in the registration form, such as email, password, first name, last name, date of birth, and address fields (e.g., street, city, postal code, and country) for proper use with CommerceTools. [RSS-ECOMM-2_09](./Sprint2/RSS-ECOMM-2_09.md) - ❌ **(20 points)** Display clear error messages indicating any validation issues, such as an improperly formatted email or a weak password. [RSS-ECOMM-2_10](./Sprint2/RSS-ECOMM-2_10.md) #### 🔗 2. Integration with Authentication Service (25 points) - ☑️ **(10 points)** Integrate the registration form with a chosen authentication service, such as commercetools, to handle user registration. [RSS-ECOMM-2_11](./Sprint2/RSS-ECOMM-2_11.md) - ❌ **(15 points)** Implement error handling for failed registration attempts, and display user-friendly error messages. [RSS-ECOMM-2_12](./Sprint2/RSS-ECOMM-2_12.md) #### 🔄 3. State Management, Automatic Login, and Redirection (15 points) - 🚀 **(15 points)** Redirect users to the application's main page upon successful account creation and automatic login. [RSS-ECOMM-2_13](./Sprint2/RSS-ECOMM-2_13.md) #### 🛒 4. Integration with commercetools for User Profiles and Addresses (30 points) - 🏠 **(15 points)** Allow users to set a default address during registration. [RSS-ECOMM-2_14](./Sprint2/RSS-ECOMM-2_14.md) - 🏠 **(15 points)** Enable users to select different billing and shipping addresses or choose a single address for both billing and shipping during the registration process. [RSS-ECOMM-2_15](./Sprint2/RSS-ECOMM-2_15.md) #### ⬅️ 5. Navigation to Login Page (5 points) - ☑️ **(5 points)** Add a button or link on the registration page that allows users to navigate to the login page. [RSS-ECOMM-2_16](./Sprint2/RSS-ECOMM-2_16.md) ### 🖥️ Main Page Enhancements (10 points - Total) #### 🌐 Centralized Navigation (10 points) - ☑️ **(5 points)** Add links to all the functional pages of the application on the main page. These should include, but are not limited to, the login and registration pages. [RSS-ECOMM-2_17](./Sprint2/RSS-ECOMM-2_17.md) - 🚀 **(5 points)** Each link should redirect the user correctly to the corresponding page without any errors. [RSS-ECOMM-2_18](./Sprint2/RSS-ECOMM-2_18.md) ### 🚦 Routing Implementation (30 points - Total) - 📌 **(15 points)** Implement routing for navigation between login, registration, and main pages. [RSS-ECOMM-2_19](./Sprint2/RSS-ECOMM-2_19.md) - ❌ **(15 points)** Implement a 404 (Not Found) page for invalid route requests. [RSS-ECOMM-2_20](./Sprint2/RSS-ECOMM-2_20.md) ### 🎯 Evaluation Criteria for Header (25 points - Total) - 🚀 **(15 points)** Navigation to login and registration pages for unauthorized users [RSS-ECOMM-2_21](./Sprint2/RSS-ECOMM-2_21.md) - ☑️ **(5 points)** Ability to access the main page for all users [RSS-ECOMM-2_22](./Sprint2/RSS-ECOMM-2_22.md) - 🚫 **(5 points)** Logout functionality for authorized users [RSS-ECOMM-2_23](./Sprint2/RSS-ECOMM-2_23.md) ### Penalties for Cross-Check Criteria (40 points - Total): ❌ 1. **Absence of Responsive Application Design (20 points):** If the application does not provide a responsive layout suitable for various devices and screen sizes, a penalty of 20 points will be applied. 📱🖥️🛑 2. **Errors in the Console (20 points):** Except for request errors, console errors, including favicon error, will result in a penalty of 20 points. Ensure your code is debugged and free of unnecessary errors for a smooth user experience. 🐛🔍🛑 Please note that these penalties will be deducted from the final score. Strive for high-quality, error-free code and a responsive, user-friendly design for the best outcome. 🌟🏆💪 ### 👨🏫 Mentor Evaluation Criteria (60 points - Total): 1. 🗣️ **Code Review Participation (10 points):** Students actively participate in code reviews, providing constructive feedback and suggestions to their peers. 2. ✅ **No Merges Without Approvals (10 points):** Pull requests are not merged without approvals from other team members, ensuring the quality of code contributions. 3. 📝 **Pull Request Descriptions (10 points):** Pull requests include detailed descriptions, outlining the changes made and the purpose of the changes, facilitating better understanding and review. 4. 🗒️ **Task Board Management (10 points):** Students maintain and regularly update a task board (e.g., Trello, Jira), ensuring that tasks are moved according to their progress and completion. 5. 💡 **Active Participation in Development Discussions (5 points):** Students take an active role in discussing the development process, sharing ideas, and collaborating on solutions and improvements. 6. 🧪 **Unit Test Coverage (15 points):** The codebase has a minimum of 25% unit test coverage, ensuring the reliability and robustness of the implemented features. ### Penalties for Mentor E
Overdue by 2 year(s)•Due by May 21, 2024•23/23 issues closed## Sprint 1: Repository Setup, Project Management, CommerceTools Integration, and Development Environment Configuration (150 points) 😊 In the first sprint, the team will focus on setting up the project repository, establishing effective project management using a task board, integrating with CommerceTools to create the project and API client, and configuring the development environment with a bundler, TypeScript, ESLint, Prettier, Husky, and Jest or Vitest for testing. 😎 The mentor will evaluate the team's progress and assign points based on achieving specific goals and milestones. ### Working with the Repository 📁 - Create a `develop` branch from the `main` or `master` branch. - For each task, create a new branch from the `develop` branch, make the changes, and create a pull request to merge the changes back into the `develop` branch after a code review. Multiple issues can be combined into a single pull request. 🔄 - At the end of the sprint, create a pull request from the `develop` branch to the `main` or `master` branch with a description in accordance with the requirements of rs-school. 🎓 - Share the pull request link with the mentor for review and evaluation. 👀 ### Mentor Evaluation Criteria (150 points - Total): 🎯 ### 1. Repository Setup (29 points) 🧐 - **(10 points)** Create a GitHub repository for the project, complete with a README file, .gitignore, and necessary dependencies. [RSS-ECOMM-1_01](./Sprint1/RSS-ECOMM-1_01.md) 📚 - **(10 points)** Set up a clear and organized folder structure within the repository, ensuring a maintainable and scalable codebase. [RSS-ECOMM-1_02](./Sprint1/RSS-ECOMM-1_02.md) 🏗️ - **(4 points)** Invite all team members and the mentor as collaborators, ensuring everyone has access to contribute to the repository. [RSS-ECOMM-1_03](./Sprint1/RSS-ECOMM-1_03.md) 👥 - **(5 points)** Create a pull request template with a clear structure for describing proposed changes and the rationale behind them. [RSS-ECOMM-1_21](./Sprint1/RSS-ECOMM-1_21.md) 📝 ### 2. Task Board Setup (Trello, Jira, etc.) (14 points) 📋 - **(6 points)** Create a project task board using a project management tool (e.g., Trello or Jira), organizing tasks into lists or columns corresponding to their status (e.g., To Do, In Progress, Done). [RSS-ECOMM-1_04](./Sprint1/RSS-ECOMM-1_04.md) ✔️ - **(5 points)** Break down project tasks into smaller, manageable subtasks and assign them to team members, ensuring a clear delegation of responsibilities. [RSS-ECOMM-1_05](./Sprint1/RSS-ECOMM-1_05.md) 🧩 - **(3 points)** Share the task board with the team members and the mentor, ensuring everyone can track progress and update the status of their tasks. [RSS-ECOMM-1_18](./Sprint1/RSS-ECOMM-1_18.md) 🤝 ### 3. CommerceTools Project and API Client Setup (30 points) 💻 - **(15 points)** Create the project in CommerceTools, setting up the currencies, languages, and other configurations in the Merchant Center. [RSS-ECOMM-1_06](./Sprint1/RSS-ECOMM-1_06.md) 💼 - **(15 points)** Create the API client for CommerceTools, enabling access to the platform's APIs and managing permissions and scopes required for the project. [RSS-ECOMM-1_07](./Sprint1/RSS-ECOMM-1_07.md) 🔐 ### 4. Development Environment Configuration (43 points) ⚙️ - **(10 points)** Set up and configure a bundler (e.g., Webpack, Vite, Parcel, or other) for the project, supporting both development and production build modes. [RSS-ECOMM-1_08](./Sprint1/RSS-ECOMM-1_08.md) 📦 - **(5 points)** Configure TypeScript to enforce strong typing and improve code quality throughout the project. [RSS-ECOMM-1_09](./Sprint1/RSS-ECOMM-1_09.md) 🧮 - **(5 points)** Set up ESLint to enforce consistent coding styles and identify potential issues in the codebase. [RSS-ECOMM-1_10](./Sprint1/RSS-ECOMM-1_10.md) 📏 - **(5 points)** Configure Prettier to automatically format code, ensuring a consistent and readable code style. [RSS-ECOMM-1_11](./Sprint1/RSS-ECOMM-1_11.md) ✨ - **(8 points)** Initialize Husky to manage Git hooks, automating tasks such as code formatting and linting checks during the commit process. [RSS-ECOMM-1_12](./Sprint1/RSS-ECOMM-1_12.md) 🐕 - **(10 points)** Install and configure Jest or Vitest as the testing framework for the project, enabling comprehensive testing of code functionality. [RSS-ECOMM-1_13](./Sprint1/RSS-ECOMM-1_13.md) 🧪 Note: In this sprint, we will also integrate a front-end framework (e.g., React, Angular, Vue) to facilitate efficient and organized development of the user interface, but it will not be part of the evaluation criteria for the sprint. 🌐 ### 5. Development Scripts (15 points) 🖊️ - **(5 points)** Create a script for running ESLint across the codebase, enabling quick and efficient identification of coding style issues and potential errors. [RSS-ECOMM-1_14](./Sprint1/RSS-ECOMM-1_14.md) 🐞 - **(5 points)** Create a script for running Prettier across the codebase, simplifying code formatting and ensuring uniform code style. [RSS-ECOMM-1_15](./Sprint1/RSS-ECOMM-1_15.md) 🎨 - **(5 points)** Create a script for running Jest or Vitest tests, streamlining the process of executing tests and generating reports on test outcomes. [RSS-ECOMM-1_16](./Sprint1/RSS-ECOMM-1_16.md) 🧾 ### 6. Comprehensive README (19 points) 📝 - **(10 points)** Add a thorough README file in the repository, describing the project, its purpose, and the technology stack used. [RSS-ECOMM-1_17](./Sprint1/RSS-ECOMM-1_17.md) 📘 - **(5 points)** Clearly document all available scripts (e.g., for running ESLint, Prettier, and Jest or Vitest tests) and their usage in the README file. [RSS-ECOMM-1_19](./Sprint1/RSS-ECOMM-1_19.md) 📜 - **(4 points)** Provide detailed instructions for setting up and running the project locally, ensuring newcomers and contributors can quickly get started. [RSS-ECOMM-1_20](./Sprint1/RSS-ECOMM-1_20.md) 🚀 #### Evaluation by the Mentor 🎓 During this sprint, the mentor will be the sole evaluator of the team's progress and efforts. They will assign points (up to a total of 150) based on the successful completion of the above tasks, collaboration, and overall organization of the project setup. ### Useful Links and Resources 🔗 To help the team understand the various tools and technologies used in this project, here's a list of helpful resources and guides: 1. [GitHub - Creating a new repository](https://help.github.com/en/articles/create-a-repo) 💻 2. [Trello - Getting started](https://trello.com/guide/trello-101) 🗂️ 3. [Jira - Quick start guide](https://www.atlassian.com/software/jira/guides/getting-started/basics) 🧭 4. [CommerceTools - Getting started](https://docs.commercetools.com/docs) 🛠️ 5. [Webpack - Getting started](https://webpack.js.org/guides/getting-started/) 🗜️ 6. [React - Getting started](https://reactjs.org/docs/getting-started.html) ⚛️ 7. [Angular - Getting started](https://angular.io/guide/quickstart) 🅰️ 8. [Vue - Getting started](https://vuejs.org/v2/guide/) 🟢 9. [TypeScript - Getting started](https://www.typescriptlang.org/docs/handbook/typescript-tooling-in-5-minutes.html) 📏 10. [ESLint - Getting started](https://eslint.org/docs/user-guide/getting-started) ✅ 11. [Prettier - Getting started](https://prettier.io/docs/en/index.html) 🎨 12. [Husky - Getting started](https://github.com/typicode/husky#readme) 🐕 13. [Jest - Getting started](https://jestjs.io/docs/getting-started) 🧪 14. [Vitest - Getting started](https://vitest.dev/guide/) 🧪 ### Here is the final points distribution: 🎖️ - Mentor Evaluation Criteria: 150 points - Total points for Sprint 1: 150 points With all these exciting tasks at hand, remember that the journey of a thousand lines of code begins with a single keystroke. So keep your spirits high, fingers on the keyboard, and let's sprint to success! Remember, we're not just writing code, we're brewing magic. Happy coding, wizards! 🧙♂️🎉
Overdue by 2 year(s)•Due by May 7, 2024•22/22 issues closed