Collaborative Git Exercise
The goal of this exercise is to collaborate on a simple project on GitHub as a team of 2 or 3.
This repository contains a partially implemented todo list written in PHP, HTML and CSS.
The application connects to a MySQL database.
All the code is in the
The incomplete lines of code are marked with the following comment:
// IMPLEMENT ME.
This repository contains a
todolist.sqlfile you can use to create the database for this project.
If you use MAMP, you can run its contents from MAMP's phpMyAdmin interface.
You can update the constants at the top of
index.phpto match your local installation:
The value of
BASE_URLmust match the URL at which the application is available.
For example, if you use MAMP and put this repository in MAMP's
htdocsdirectory, the application will be accessible at http://localhost:8888/comem-archidep-php-todo-exercise/ (with the default ports). In this situation, the value of
You can change the value of
DB_PORTto match your local MySQL port (for example, with MAMP, the default is 8889).
The first two team members will be referred to as Bob and Alice.
Open the MediaComem/comem-archidep-php-todo-exercise in your browser.
Forkbutton in the top-right corner of the page (you must be logged in to GitHub).
This will create a copy of the repository on GitHub that belongs to you (under your GitHub username instead of
In the settings of that repository, add Alice and any other team members to the list of Collaborators (this will give them push access).
Clone the repository on your local machine.
- Alice (and other team members)
- Clone Bob's repository on your local machine.
- Implement one or more missing feature.
- Commit the change and push it to Bob's repository on GitHub.
- The work must be delivered in the forked repository on GitHub.
- The todo list must work.
- Tasks can be added, toggled and deleted.
- Tasks must be listed from newest to oldest (i.e. by descending creation date).
- Each team member must contribute at least one useful commit.
- The author name and email address of each team member's commits must be correctly configured.
- Commit messages must be relevant (i.e. describe the change that was made).
If your full name is visible on your GitHub profile or in your commits, you do not need to send anything aside from pushing your commits to your team's forked repository.
Otherwise, send an email to the teacher with:
- The link to the team's solution repository on GitHub.
- The list of team members and their GitHub username (if it is not obvious).