|
2 | 2 |
|
3 | 3 | ## Instructions |
4 | 4 |
|
5 | | -In this section, you will collaborate with a partner to instantiate the producer and consumer classes. One person will focus on the producer section while the other works on the consumer section. Afterwards, you'll exchange solutions verbally or via GitHub. We highly recommend using GitHub for this purpose, working on the same fork, and pushing your solutions. GitHub is widely used across the tech industry. You can find a GitHub file in the resource folder to assist you with this. |
| 5 | +In this section, you will collaborate with a partner to instantiate the producer and consumer classes. This is a paired programming exercise where you will work together using Git and GitHub for code sharing. |
6 | 6 |
|
7 | | -Below are bullet points of the criteria: |
8 | | -- First ensure that each contributor is working from and has `cloned the same fork` of the BBIT-LEARNING-LABS repository. |
9 | | -- Second ensure that each contributor has been `added as a collaborator to the fork.` |
10 | | -- One person completes the `producer section.` |
11 | | -- One person completes the `consumer section.` |
12 | | -- Each contributor should then [git push](../Resources/Git-Commands.md#commands-youll-need-for-today) their solutions to the fork. |
13 | | -- Lastly, follow the `testing instructions below` to send and recieve a message to complete this section. |
| 7 | +### Partner Workflow |
| 8 | + |
| 9 | +**Setup (Do this together):** |
| 10 | +1. **Decide who will be the fork owner** - This person will create the fork of the lab repository |
| 11 | +2. **Fork owner**: Fork the repository to your GitHub account |
| 12 | + - Look for a "Fork" button in the top right corner of the main repo screen |
| 13 | + - After forking, it should take you to your fork of the repo. The repo name will be `<your_github_username>/bbit-learning-labs` |
| 14 | +3. **Fork owner**: Add your partner as a collaborator: |
| 15 | + - Go to your fork's Settings → Collaborators → Add people |
| 16 | + - Enter your partner's GitHub username and send the invitation |
| 17 | +4. **Partner**: Accept the collaboration invitation (check your email or GitHub notifications) |
| 18 | +5. **Both students**: |
| 19 | + - Codespaces: Create a codespace from the same forked repo |
| 20 | + - Local: Clone the same fork to your local machine using `git clone` |
| 21 | +6. **Both students**: Ensure you can bring up the lab successfully |
| 22 | + |
| 23 | +**Division of Work:** |
| 24 | +- **Partner A**: Complete the `producer section` in the producer folder |
| 25 | +- **Partner B**: Complete the `consumer section` in the consumer folder |
| 26 | + |
| 27 | +**Sharing Code (Do this after completing your section):** |
| 28 | +1. **Both students**: After completing your assigned section, commit your changes: |
| 29 | + - `git add .` |
| 30 | + - `git commit -m "Implement [producer/consumer] section"` |
| 31 | +2. **Partner A**: Push your producer code first: `git push` |
| 32 | +3. **Partner B**: Pull Partner A's changes, then push your consumer code: |
| 33 | + - `git pull` (to get the producer code) |
| 34 | + - `git push` (to share your consumer code) |
| 35 | +4. **Partner A**: Pull Partner B's consumer code: `git pull` |
| 36 | +5. **Both students**: Verify you both have the complete solution (producer + consumer) |
| 37 | + |
| 38 | +**Important Notes:** |
| 39 | +- Communicate frequently with your partner about your progress |
| 40 | +- If you encounter merge conflicts, work together to resolve them |
| 41 | +- Use the [git_commands.md](../resources/git_commands.md) file for Git command reference |
| 42 | + |
| 43 | +**Testing Together:** |
| 44 | +- Once both partners have pulled all changes, follow the `testing instructions below` to send and receive messages |
| 45 | +- Both partners should be able to run the complete solution on their machines |
14 | 46 |
|
15 | 47 |
|
16 | | -`IMPORTANT!!!` Please utlize the [Functions.md](../Resources/Functions.md) file as it contains almost all the functions you will need for this lab. Also, other helpful information can be found under the Resources folder for Python, Git, and RabbitMQ details. |
| 48 | +`IMPORTANT!!!` Please utilize the [Functions.md](../Resources/Functions.md) file as it contains almost all the functions you will need for this lab. Also, other helpful information can be found under the Resources folder for Python, Git, and RabbitMQ details. |
17 | 49 |
|
18 | 50 | ## Testing |
19 | 51 | In order to verify that the consumer and producer class was properly instantiated, we will use the provided `consume.py`, and `publish.py` file from producer and consumer folder. Follow the below instructions: |
|
0 commit comments