You should think if repeaters are the best way of achieving what you want. In this case, I suspect that it would be better to create each project as a child of a "projects" page. But I will answer your doubt anyway.
Its not much different then doing the same with other kinds of fields. But, like with images, the field return a page array that you have to iterate with a foreach()
Taking the example on the repeater fields docs http://processwire.c...ypes/repeaters/ (is this one that you were talking about?)
foreach($page->buildings as $building) {
echo "<h2>{$building->title}</h2><p>";
echo "Height: {$building->feet_high} feet, ";
echo "Floors: {$building->num_floors}, ";
echo "Year built: {$building->year_built} </p>";
}
Notice that it's not that different from your example, and all the html is being echoed from inside the foreach.
The same example can be also written with this alternative sintax, if it makes it more clear for you:
<? foreach($page->buildings as $building):?>
<h2><?=$building->title ?></h2>
<p>
Height: <?=$building->feet_high ?> feet,
Floors: <?=$building->num_floors ?>,
Year built: <?=$building->year_built ?>
</p>
<? endforeach; ?>
You just have to adapt it to your html code. In your case I can imagine something like this:
<? foreach($page->projects as $project): ?>
<h3>project name</h3>
<p><?=$project->name ?></p>
<h3>project budget</h3>
<p><?=$project->budjet ?></p>
<h3>project description</h3>
<p><?=$project->description ?></p>
<? endforeach; ?>