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 for testing. 😎 The mentor will evaluate the team's progress and assign points based on achieving specific goals and milestones.
- Create a
develop
branch from themain
ormaster
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 thedevelop
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 themain
ormaster
branch with a description in accordance with the requirements of rs-school. 🎓 - Share the pull request link with the mentor for review and evaluation. 👀
- (10 points) Create a GitHub repository for the project, complete with a README file, .gitignore, and necessary dependencies. RSS-ECOMM-1_01 📚
- (10 points) Set up a clear and organized folder structure within the repository, ensuring a maintainable and scalable codebase. RSS-ECOMM-1_02 🏗️
- (4 points) Invite all team members and the mentor as collaborators, ensuring everyone has access to contribute to the repository. RSS-ECOMM-1_03 👥
- (5 points) Create a pull request template with a clear structure for describing proposed changes and the rationale behind them. RSS-ECOMM-1_21 📝
- (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 ✔️
- (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 🧩
- (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 🤝
- (15 points) Create the project in CommerceTools, setting up the currencies, languages, and other configurations in the Merchant Center. RSS-ECOMM-1_06 💼
- (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 🔐
- (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 📦
- (5 points) Configure TypeScript to enforce strong typing and improve code quality throughout the project. RSS-ECOMM-1_09 🧮
- (5 points) Set up ESLint to enforce consistent coding styles and identify potential issues in the codebase. RSS-ECOMM-1_10 📏
- (5 points) Configure Prettier to automatically format code, ensuring a consistent and readable code style. RSS-ECOMM-1_11 ✨
- (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 🐕
- (10 points) Install and configure Jest as the testing framework for the project, enabling comprehensive testing of code functionality. RSS-ECOMM-1_13 🧪
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 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 🐞
- (5 points) Create a script for running Prettier across the codebase, simplifying code formatting and ensuring uniform code style. RSS-ECOMM-1_15 🎨
- (5 points) Create a script for running Jest tests, streamlining the process of executing tests and generating reports on test outcomes. RSS-ECOMM-1_16 🧾
- (10 points) Add a thorough README file in the repository, describing the project, its purpose, and the technology stack used. RSS-ECOMM-1_17 📘
- (5 points) Clearly document all available scripts (e.g., for running ESLint, Prettier, and Jest tests) and their usage in the README file. RSS-ECOMM-1_19 📜
- (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 🚀
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.
To help the team understand the various tools and technologies used in this project, here's a list of helpful resources and guides:
- GitHub - Creating a new repository 💻
- Trello - Getting started 🗂️
- Jira - Quick start guide 🧭
- CommerceTools - Getting started 🛠️
- Webpack - Getting started 🗜️
- React - Getting started ⚛️
- Angular - Getting started
🅰️ - Vue - Getting started 🟢
- TypeScript - Getting started 📏
- ESLint - Getting started ✅
- Prettier - Getting started 🎨
- Husky - Getting started 🐕
- Jest - Getting started 🧪
- 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! 🧙♂️🎉