> For the complete documentation index, see [llms.txt](https://docs.nuvolos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nuvolos.com/tutorials/tutorials-for-students/working-on-a-group-project.md).

# Working on a group project

<mark style="color:$primary;">**What you will achieve.**</mark> \
By the end of this tutorial you will have accepted your group invitation, understood the difference between your personal course instance and your group instance, started the shared application your instructor set up for the group, worked alongside your teammates without overwriting their changes, and saved a snapshot of the group's combined progress.

<mark style="color:$primary;">**How long it takes.**</mark> \
About 15–20 minutes for the orientation steps, plus the time you spend on the actual group work.

<mark style="color:$primary;">**What you need before you start.**</mark> \
You should have completed Tutorial 'Your first day in a Nuvolos course' - that is, you have accepted your course invitation and you can navigate to your course. You also need a group invitation email from your instructor (this arrives separately from the course invitation). If your group has not been set up yet, ask your instructor.

{% stepper %}
{% step %}

### <mark style="color:$primary;">Step 1 - Accept your group invitation</mark>

When your instructor sets up a group project, they create a separate group-work space and invite each group member to a shared instance inside it. The invitation arrives by email, separately from your original course invitation.

1. &#x20;Open the group invitation email.
2. Click Review Invitation.
3. Check the role: it should be Instance Editor - this lets you modify files in the shared instance.
4. Click Accept invitation.

{% hint style="warning" %}
**Use the right email address**

Your instructor must invite you using the email address you already use for Nuvolos. If the invitation was sent to a different address, you will not be able to accept it with your existing account. If this happens, ask your instructor to re-send to the email listed under your name in the course Members list.
{% endhint %}

{% hint style="success" %}
**Checkpoint**

After accepting, return to the Dashboard. You should now see two spaces for this course: your regular coursework space (with your personal instance) and a separate group-work space (with your group instance). Both belong to the same course but are organised separately so individual and group work never get tangled.
{% endhint %}
{% endstep %}

{% step %}

### <mark style="color:$primary;">Step 2 - Understand which space does what</mark>

Two spaces, two different working models. Knowing when to use which avoids most of the confusion that comes with group projects.

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><strong>Your personal course instance</strong></td><td valign="top"><strong>Your group instance</strong></td></tr><tr><td valign="top">In the regular coursework space.</td><td valign="top">In the separate group-work space.</td></tr><tr><td valign="top">Only you can see and edit it.</td><td valign="top">Every group member can see and edit it. The current state is shared.</td></tr><tr><td valign="top">Use for individual assignments, your own notes, your own experiments.</td><td valign="top">Use for the group's shared deliverable, group code, group data.</td></tr><tr><td valign="top">Your work here is private to you and the instructor.</td><td valign="top">Anything you save here is immediately visible to your teammates.</td></tr></tbody></table>

{% hint style="warning" %}
Keep individual assignments in your personal instance. Keep group deliverables in the group instance. The two are deliberately separate so that an accidental edit to a group file does not lose someone's individual work, and vice versa.
{% endhint %}
{% endstep %}

{% step %}

### <mark style="color:$primary;">Step 3 - Start the shared application</mark>

Open the group-work space from the Dashboard, navigate to your group instance, and start the application your instructor configured for group work. The startup procedure is the same as for any other application.

1. On the left sidebar, click the Screen button (Applications) to open the application list.
2. Click the power button or the application name to start it.
3. Wait 30–60 seconds for the application to load.

Many group projects use JupyterLab 3.1 or later configured in Shared editing mode (similar to Google Docs). In this mode, multiple group members can connect to the same notebook at the same time and you will see each other's edits live, with no file version conflicts. Your instructor sets this up - you don't configure anything yourself, you just start the application.

{% hint style="success" %}
**Checkpoint**

The application should now be running in your group instance. Any files your group has already shared are visible. If teammates are also working, you may see their cursors or recent edits — that's the shared mode in action.
{% endhint %}
{% endstep %}

{% step %}

### <mark style="color:$primary;">Step 4 - Work alongside your teammates</mark>

Editing in a shared instance is mostly straightforward, but the rules differ from working alone. Two cases to know about:

**If your application is in Shared mode (e.g. JupyterLab Shared)**

You can work in the same notebook simultaneously. Edits merge automatically - like a shared document. There is no "locking" of files; just be aware that your teammates can see your work as you do it.

**If your application is not in Shared mode**

Multiple people editing the same file at the same time produces application-dependent results - sometimes one set of changes wins, sometimes both versions get saved, sometimes the file is corrupted. The way around this is to coordinate before you edit:

* Break work into appropriately small blocks (separate files, separate notebooks per task) so two people are rarely in the same file.
* If two people must edit the same file, schedule it - agree on who works on it when, and only one person at a time.
* Communicate in your group's chat (Slack, WhatsApp, or whatever you use) before opening a file someone else might be editing.
  {% endstep %}

{% step %}

### <mark style="color:$primary;">Step 5 - Save the group's progress with a snapshot</mark>

Snapshots in a group instance work the same way as in your personal instance — they capture the complete current state of the instance. The difference is that a snapshot in a group instance preserves *everyone's* work, not just yours. Take one before you stop for the day, and definitely before any major change that the group might want to roll back.

1. From the left sidebar, hover on the camera icon.
2. Click TAKE SNAPSHOT AND DESCRIBE.
3. Use a name that makes sense to the whole group, not just to you (e.g. "after Monday's working session" rather than "my snapshot").

{% hint style="warning" %}
**Coordinate snapshots**

Anyone in the group can take a snapshot, but only one snapshot can have a given name. Pick a snapshot-naming convention with your group early - date-based names are usually safest. If something goes wrong, anyone in the group can later restore the snapshot, which affects the whole instance and therefore everyone.
{% endhint %}

{% hint style="success" %}
**You're done**

You have joined a group, started the shared application, worked alongside teammates without conflicts, and saved a snapshot of the group's combined progress. From here, the group-instance workflow is the same as your personal-instance workflow - with the wrinkle that everything you save is immediately visible to your teammates.
{% endhint %}
{% endstep %}
{% endstepper %}

#### Where to go next

* If your group project culminates in a single hand-in, the submission flow works the same way as explained under [Submitting your first assignment](/tutorials/tutorials-for-students/submitting-your-first-assignment.md). One group member submits on behalf of the group.
* To take and restore named snapshots, see [How-to > Save and recover work](/how-to-guides/workflows-for-students/snapshot-your-work.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nuvolos.com/tutorials/tutorials-for-students/working-on-a-group-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
