> For the complete documentation index, see [llms.txt](https://wiki.berkie.ee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.berkie.ee/techops/getting-started-projects/web-demo-project/assignment-4-starting-with-full-stack.md).

# Assignment 4: Starting with Full Stack

Now that you've learned how to mess with both parts, the frontend and backend, let's put them together!&#x20;

First, save your changes from the previous section by

1. creating a new branch
2. staging the files you've changed
3. committing to your new branch
4. push to remote if you'd like

Let's get the most updated skeleton code by running

```bash
git pull origin main
```

Ideally, you should have no merge conflicts and no error messages. However, it's likely that you will run into a message that may look like this

```
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
```

This means that your set of local changes have diverged from the remote. Generally, we like to use the `rebase` method. This means that you move your set of changes on top of the new ones on remote, and combine them. More about rebasing here:

{% embed url="<https://docs.github.com/en/get-started/using-git/about-git-rebase>" %}

Now let's move on to the actual assignment.


---

# 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, and the optional `goal` query parameter:

```
GET https://wiki.berkie.ee/techops/getting-started-projects/web-demo-project/assignment-4-starting-with-full-stack.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
