Setup Your Project

Setup Your Project

After forming your team, you will need to setup your team’s project space in GitLab.

Steps

Step 1: Use the New-Project Wizard

The first step need to be to create a project in GitLab using the built-in wizard.

  1. Open the GitLab home page.
  2. Select + > New project/repository > Create Blank Project.
  3. Fill in the form:
    • The project should be placed under the Username of one of your team members (e.g. j2avery in the example).
    • Visibility should remain Private.
    • Your project should have a descriptive name e.g., UberTweets1.
  1. Select Create project to proceed.
Create Project

Step 2: Set project security

It’s important that you set permissions on your project. This provides access to those who need it, while preventing others from accessing it! The person who sets up the project should make the following changes:

  1. Check project visibility.
    • Settings > General > Visibility Level
    • Ensure that it’s set to Private.
Visibility Flag
  1. Add your teammates to the project with full access.

    • Manage > Members, Invite Members.
    • When they accept, change their role to Owner.
  2. Add the instructor to your project as a Developer 2.

    • Manage > Members, Invite Members, and use details from the contact page.
TAs aren’t assigned to teams until after this deliverable, but they will need access to your project too! Make sure to go back and add them as a Developer once details are posted on the Team Roster page.

Step 3: Customize your project (optional)

If desired, you can also add a project icon, and a description.

  • Settings > General, Project avatar.
  • Settings > General, Project description.

Step 4. Getting a working copy from GitLab

Next, we’re going to add some documents to your project’s Git repository. To do this, you need a working copy of your repository:

Open the web page for your GitLab project. Click on the Code button, and copy the URL from Clone with HTTPS.

GitLab

In a terminal, on your computer, cd to the location where you want to keep your source code. git clone the URL.

$ git clone https://git.uwaterloo.ca/cs346/public/mm.git

In this example, we would have a folder named mm that contains the contents of the Git repository.

Step 5: Add README file

You should create a file in the root of your source tree named README.md. This will be displayed by default when users browse your project and serves as the main landing page for your project.

You must have at least the following details included in your README.md.

  • Project name
  • Project description (1-2 sentence description)
  • Team details, including names/contact info

Example README

Uber-Tweets
The Uber-eats app for parakeets!

Team 101-07
We are a small-but-mighty 2 person team.

Our team contract includes details on how we will work together.

Treat your README as the Table of Contents for your project. As the course progresses, and you create documents, they should always be linked to the README so that people can find them.

Step 6: Add team contract

In your Wiki, create a page for your Team Contract and link it to your README.md (see above).

Minimally, your team contract needs to contain:

  • Names and contact information (i.e. WatID) of all team members.
  • Agreement on how you will meet in-person e.g., how often, and location. You are expected to meet at least twice per week and document it.
  • Agreement on how you will communicate e.g., email, Messages, WhatsApp, MS Teams. You need one agreed-up communication channel that everyone will check.
  • Agreement on team roles: who is the project lead? Are people taking on specific design responsibilities?
  • Agreement on how the team will make decisions. Do you vote? Do you need a majority?

See the templates repository for a sample team contract.

Step 7. Push changes to the repository

Once you have confirmed that your project is working, you can commit and push the changes.

$ git add *
$ git commit -m "Initial commit"
$ git push

Step 8. Submit your project.

When you have completed the steps above, please submit for grading.

Login to Learn, navigate to Submit > Dropbox > Project Setup, and submit a link to your top-level project page from GitLab. This is important, since it’s the only way we have of easily locating your repository!

Note that only one person on the team needs to submit this link. This is a team dropbox, so everyone will be credited with the submission.

This step must be completed by 6:00 PM on the listed time and date.


  1. It’s easy to change your name later, so you’re not stuck with this name! ↩︎

  2. This is really important! The instructor need access to your project to setup Learn and other systems. Your TA needs access later to grade your deliverables. ↩︎