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.
- 📌 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 thedevelop
branch. - 📧 Share the pull request link with the mentor for review and evaluation.
- ☑️ (20 points) Implement client-side validation for the login form, including email and password fields. RSS-ECOMM-2_01
- ❌ (20 points) Display clear error messages indicating any validation issues, such as an improperly formatted email. RSS-ECOMM-2_02
- ☑️ (25 points) Integrate the login form with a chosen authentication service (CommerceTools) to handle user authentication. RSS-ECOMM-2_03
- ❌ (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
- 🚀 (15 points) Redirect users to the application's main page upon successful login. RSS-ECOMM-2_05
- 🚀 (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
- ☑️ (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
- ☑️ (5 points) Add a button or link on the login page that allows users to navigate to the registration page. RSS-ECOMM-2_08
- ☑️ (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
- ❌ (20 points) Display clear error messages indicating any validation issues, such as an improperly formatted email or a weak password. RSS-ECOMM-2_10
- ☑️ (10 points) Integrate the registration form with a chosen authentication service, such as commercetools, to handle user registration. RSS-ECOMM-2_11
- ❌ (15 points) Implement error handling for failed registration attempts, and display user-friendly error messages. RSS-ECOMM-2_12
- 🚀 (15 points) Redirect users to the application's main page upon successful account creation and automatic login. RSS-ECOMM-2_13
- 🏠 (15 points) Allow users to set a default address during registration. RSS-ECOMM-2_14
- 🏠 (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
- ☑️ (5 points) Add a button or link on the registration page that allows users to navigate to the login page. RSS-ECOMM-2_16
- ☑️ (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
- 🚀 (5 points) Each link should redirect the user correctly to the corresponding page without any errors. RSS-ECOMM-2_18
- 📌 (15 points) Implement routing for navigation between login, registration, and main pages. RSS-ECOMM-2_19
- ❌ (15 points) Implement a 404 (Not Found) page for invalid route requests. RSS-ECOMM-2_20
- 🚀 (15 points) Navigation to login and registration pages for unauthorized users RSS-ECOMM-2_21
- ☑️ (5 points) Ability to access the main page for all users RSS-ECOMM-22
- 🚫 (5 points) Logout functionality for authorized users RSS-ECOMM-2_23
-
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. 📱🖥️🛑
-
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. 🌟🏆💪
- 🗣️ Code Review Participation (10 points): Students actively participate in code reviews, providing constructive feedback and suggestions to their peers.
- ✅ No Merges Without Approvals (10 points): Pull requests are not merged without approvals from other team members, ensuring the quality of code contributions.
- 📝 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.
- 🗒️ 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.
- 💡 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.
- 🧪 Unit Test Coverage (15 points): The codebase has a minimum of 25% unit test coverage, ensuring the reliability and robustness of the implemented features.
-
Linter Errors (5 points): If there are errors from the linter, a penalty of 5 points will be applied. Ensure that you follow the linter rules to maintain high code quality. 🛠️📝🛑
-
Prettier Errors (5 points): If there are formatting errors detected by Prettier, a penalty of 5 points will be applied. It's important to adhere to established formatting conventions for clean, readable code. 📐✍️🛑
-
Presence of 'any' (5 points): The use of 'any' in TypeScript can lead to potential typing issues and is generally discouraged. A penalty of 5 points will be applied if 'any' is found in the code. 🚫🔍🛑
-
Non-functional Scripts in package.json (5 points): All scripts defined in the package.json should function correctly. If there are non-working scripts, a penalty of 5 points will be applied. ⚙️📦🛑
-
Non-SPA Application (60 points): The application should be a Single Page Application (SPA) with an empty index.html. If this requirement is not met, a penalty of 60 points will be applied.
⚠️ 🖥️🛑
Please note that these penalties will be deducted from the final score. Strive to adhere to best practices, maintain clean and well-formatted code, and ensure that all your scripts are working correctly for the best outcome. 🌟🏆💪
- Login Page Implementation: 130 points
- Registration Page Implementation: 120 points
- Main Page Implementation: 10 points
- Routing Implementation: 30 points
- Header Implementation: 25 points
- Mentor Evaluation Criteria: 60 points
- Total points for Sprint 2: 375 points
So, let's wrap up this Sprint with a melody, team! 🎵 Remember, as we code, "Now hush, little baby, don't you cry, everything's gonna be alright." 😌 We've got this, and every bug we encounter is just a stepping stone to a better application! 🐞🚀 Let's code in harmony 🎧 and hit every note right. Happy coding, rockstars! 🎸🌟