diff --git a/donate/models.py b/donate/models.py
index e26aad9acf1119a0a8d0f6f606b114bac6cf97bb..ad5b4b22cada5606978cea8e37f2fa7cd5fb8a29 100644
--- a/donate/models.py
+++ b/donate/models.py
@@ -1,11 +1,24 @@
 from django.db import models
 from django.utils.translation import gettext_lazy
-from wagtail.admin.edit_handlers import FieldPanel, HelpPanel, MultiFieldPanel
-from wagtail.core.fields import RichTextField
+from wagtail.admin.edit_handlers import (
+    FieldPanel,
+    HelpPanel,
+    MultiFieldPanel,
+    StreamFieldPanel,
+)
+from wagtail.core.fields import RichTextField, StreamField
 from wagtail.core.models import Page
+from wagtail.images.blocks import ImageChooserBlock
 from wagtail.images.edit_handlers import ImageChooserPanel
 
 
+def get_url(page, request, dest_page_type):
+    try:
+        return page.get_children().type(dest_page_type).live().get().get_url(request)
+    except Page.DoesNotExist:
+        return "#"
+
+
 class DonateHomePage(Page):
     # lead section
     lead_title = models.CharField("hlavní nadpis", max_length=250, blank=True)
@@ -46,19 +59,16 @@ class DonateHomePage(Page):
                 FieldPanel("lead_video"),
                 ImageChooserPanel("lead_preview"),
             ],
-            heading="hlavní sekce",
+            "hlavní sekce",
         ),
         MultiFieldPanel(
-            [FieldPanel("support_title"), FieldPanel("support_body")],
-            heading="podpoř stranu",
+            [FieldPanel("support_title"), FieldPanel("support_body")], "podpoř stranu",
         ),
         MultiFieldPanel(
-            [FieldPanel("project_title"), FieldPanel("project_body")],
-            heading="podpoř projekt",
+            [FieldPanel("project_title"), FieldPanel("project_body")], "podpoř projekt",
         ),
         MultiFieldPanel(
-            [FieldPanel("region_title"), FieldPanel("region_body")],
-            heading="podpoř kraj",
+            [FieldPanel("region_title"), FieldPanel("region_body")], "podpoř kraj",
         ),
     ]
 
@@ -84,12 +94,12 @@ class DonateHomePage(Page):
                 FieldPanel("twitter"),
                 FieldPanel("flickr"),
             ],
-            heading="sociální sítě",
+            "sociální sítě",
         ),
         FieldPanel("matomo_id"),
     ]
 
-    subpage_types = ["donate.DonateRegionIndexPage"]
+    subpage_types = ["donate.DonateRegionIndexPage", "donate.DonateProjectIndexPage"]
 
     # flag for rendering anchor links in menu
     is_home = True
@@ -107,25 +117,21 @@ class DonateHomePage(Page):
         context["regions"] = (
             self.get_descendants().type(DonateRegionPage).live().specific()
         )
+        context["regions_url"] = get_url(self, request, DonateRegionIndexPage)
 
-        try:
-            context["regions_url"] = (
-                self.get_children()
-                .type(DonateRegionIndexPage)
-                .live()
-                .get()
-                .get_url(request)
-            )
-        except Page.DoesNotExist:
-            context["regions_url"] = "#"
+        context["projects"] = (
+            self.get_descendants()
+            .type(DonateProjectPage)
+            .live()
+            .specific()
+            .order_by("-donateprojectpage__date")[:3]
+        )
+        context["projects_url"] = get_url(self, request, DonateProjectIndexPage)
 
         return context
 
 
 class DonateRegionIndexPage(Page):
-    parent_page_types = ["donate.DonateHomePage"]
-    subpage_types = ["donate.DonateRegionPage"]
-
     promote_panels = [
         MultiFieldPanel(
             [
@@ -139,6 +145,9 @@ class DonateRegionIndexPage(Page):
 
     settings_panels = []
 
+    parent_page_types = ["donate.DonateHomePage"]
+    subpage_types = ["donate.DonateRegionPage"]
+
     # flag for rendering anchor links in menu
     is_home = False
 
@@ -159,10 +168,12 @@ class DonateRegionIndexPage(Page):
 
 class DonateRegionPage(Page):
     perex = models.TextField("krátký popis do přehledu krajů")
-    body = RichTextField("obsah", blank=True)
+    main_title = models.CharField("hlavní nadpis na stránce", max_length=250)
+    body = RichTextField("obsah")
 
     content_panels = Page.content_panels + [
         FieldPanel("perex"),
+        FieldPanel("main_title"),
         FieldPanel("body", classname="full"),
     ]
 
@@ -198,3 +209,105 @@ class DonateRegionPage(Page):
         context = super().get_context(request)
         context["other_regions"] = self.get_siblings(inclusive=False).live()
         return context
+
+
+class DonateProjectIndexPage(Page):
+    promote_panels = [
+        MultiFieldPanel(
+            [
+                FieldPanel("slug"),
+                FieldPanel("seo_title"),
+                FieldPanel("search_description"),
+            ],
+            gettext_lazy("Common page configuration"),
+        ),
+    ]
+
+    settings_panels = []
+
+    parent_page_types = ["donate.DonateHomePage"]
+    subpage_types = ["donate.DonateProjectPage"]
+
+    # flag for rendering anchor links in menu
+    is_home = False
+
+    class Meta:
+        verbose_name = "Přehled projektů"
+
+    @property
+    def root_page(self):
+        if not hasattr(self, "_root_page"):
+            self._root_page = self.get_parent().specific
+        return self._root_page
+
+    def get_context(self, request):
+        context = super().get_context(request)
+        context["projects"] = (
+            self.get_children().live().specific().order_by("-donateprojectpage__date")
+        )
+        return context
+
+
+class DonateProjectPage(Page):
+    date = models.DateField("běží od")
+    perex = models.TextField("krátký popis")
+    body = RichTextField("obsah")
+    is_new = models.BooleanField('označení "nový projekt"', default=False)
+    photo = models.ForeignKey(
+        "wagtailimages.Image",
+        verbose_name="fotka",
+        on_delete=models.PROTECT,
+        null=True,
+        blank=True,
+    )
+    gallery = StreamField(
+        [("photo", ImageChooserBlock(label="fotka"))],
+        verbose_name="galerie fotek",
+        blank=True,
+    )
+
+    content_panels = Page.content_panels + [
+        MultiFieldPanel(
+            [FieldPanel("is_new"), FieldPanel("perex"), ImageChooserPanel("photo")],
+            "info do přehledu projektů",
+        ),
+        FieldPanel("date"),
+        FieldPanel("body", classname="full"),
+        StreamFieldPanel("gallery"),
+    ]
+
+    promote_panels = [
+        MultiFieldPanel(
+            [
+                FieldPanel("slug"),
+                FieldPanel("seo_title"),
+                FieldPanel("search_description"),
+            ],
+            gettext_lazy("Common page configuration"),
+        ),
+    ]
+
+    parent_page_types = ["donate.DonateProjectIndexPage"]
+    subpage_types = []
+
+    # flag for rendering anchor links in menu
+    is_home = False
+
+    class Meta:
+        verbose_name = "Projekt"
+
+    @property
+    def root_page(self):
+        if not hasattr(self, "_root_page"):
+            self._root_page = self.get_ancestors().type(DonateHomePage).specific().get()
+        return self._root_page
+
+    def get_context(self, request):
+        context = super().get_context(request)
+        context["other_projects"] = (
+            self.get_siblings(inclusive=False)
+            .live()
+            .specific()
+            .order_by("-donateprojectpage__date")[:3]
+        )
+        return context
diff --git a/donate/templates/donate/donate_home_page.html b/donate/templates/donate/donate_home_page.html
index df06dbb9a9d096baeec764bf0c19f4bbfc10d5c7..c8a3247a178917df5b3eb8b3053f12697d33cf60 100644
--- a/donate/templates/donate/donate_home_page.html
+++ b/donate/templates/donate/donate_home_page.html
@@ -116,66 +116,13 @@
       <p class="mb-4">{{ page.project_body }}</p>
       <div class="row projects mb-4">
 
-      {# TODO #}
-        <div class="col-12 col-md-4 mb-4">
-          <a class="card project" href="projekt.php">
-            <img data-src="img/projekt.jpg" class="lazyload img-fluid card-img-top" alt="Novinka">
-            <div class="card-body">
-              <h5>Krajské volby 2020</h5>
-              <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin.
-                Aliquam erat volutpat. Maecenas sollicitudin. Aliquam erat volutpat..</p>
-            </div>
-            <div class="card-footer">
-              <div class="progress">
-                <div class="progress-bar" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
-              </div>
-              <p>Vybráno <strong>4 963 Kč</strong> z <strong>250 000 Kč</strong></p>
-            </div>
-          </a>
-        </div><!-- /column -->
-
-        <div class="col-12 col-md-4 mb-4">
-        <a class="card project" href="projekt.php">
-            <img data-src="img/projekt2.jpg" class="lazyload img-fluid card-img-top" alt="Novinka">
-            <div class="card-body">
-              <h5>Milion stromů do měst</h5>
-              <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin.</p>
-            </div>
-            <div class="card-footer">
-              <div class="progress">
-                <div class="progress-bar" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
-              </div>
-              <p>Vybráno <strong>4 963 Kč</strong> z <strong>250 000 Kč</strong></p>
-            </div>
-          </a>
-        </div><!-- /column -->
-
-        <div class="col-12 col-md-4 mb-4">
-        <a class="card project" href="projekt.php">
-            <img data-src="img/projekt3.jpg" class="lazyload img-fluid card-img-top" alt="Novinka">
-            <div class="card-body">
-              <h5>Odstranění babiše</h5>
-              <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin.
-                Aliquam erat volutpat. Maecenas sollicitudin. Aliquam erat volutpat. Aliquam erat volutpat. Maecenas
-                sollicitudin.</p>
-            </div>
-            <div class="card-footer">
-              <div class="progress">
-                <div class="progress-bar" role="progressbar" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100"></div>
-              </div>
-              <p>Vybráno <strong>4 963 Kč</strong> z <strong>250 000 Kč</strong></p>
-            </div>
-            <ul class="project__flags">
-						  <li class="project__flag new">Nový projekt</li>
-              <li class="project__flag almost">Už jen kousek</li>
-            </ul>
-          </a>
-        </div><!-- /column -->
+      {% for project in projects %}
+        {% include "donate/project_snippet.html" %}
+      {% endfor %}
 
       </div> <!-- /row -->
 
-      {# TODO #}
-      <a href="#" class="btn btn-dark btn-lg my-2">Všechny projekty <i class="icon-chevron-right ml-2"></i></a>
+      <a href="{{ projects_url }}" class="btn btn-dark btn-lg my-2">Všechny projekty <i class="icon-chevron-right ml-2"></i></a>
     </div> <!-- /container -->
   </section>
 
diff --git a/donate/templates/donate/donate_project_index_page.html b/donate/templates/donate/donate_project_index_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..02690ed82bf815bdbf8003b36c4f7ed8e08d9b33
--- /dev/null
+++ b/donate/templates/donate/donate_project_index_page.html
@@ -0,0 +1,40 @@
+{% extends "donate/base.html" %}
+
+{% block content %}
+
+<!-- CONTENT -->
+<main role="main">
+
+  <section class="section--primary">
+    <div class="container">
+      <h1 class="lead homepage-heading mb-4">{{ page.title }}</h1>
+      <div class="row projects mb-4">
+
+        {% for project in projects %}
+          {% include "donate/project_snippet.html" %}
+        {% endfor %}
+
+      </div> <!-- /row -->
+
+      {% comment %} {# TODO #}
+      <nav aria-label="Stránkování projektů">
+        <ul class="pagination justify-content-center">
+          <li class="page-item active">
+            <a class="page-link" href="#">1 <span class="sr-only">(current)</span></a>
+          </li>
+          <li class="page-item"><a class="page-link" href="#">2</a></li>
+          <li class="page-item"><a class="page-link" href="#">3</a></li>
+          <li class="page-item">
+            <a class="page-link" href="#">Další</a>
+          </li>
+        </ul>
+      </nav>
+      {% endcomment %}
+
+    </div> <!-- /container -->
+  </section>
+
+</main>
+<!-- /CONTENT -->
+
+{% endblock %}
diff --git a/donate/templates/donate/donate_project_page.html b/donate/templates/donate/donate_project_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..38287af1193045732b7b79d153f750c55ec28ec6
--- /dev/null
+++ b/donate/templates/donate/donate_project_page.html
@@ -0,0 +1,171 @@
+{% extends "donate/base.html" %}
+{% load static wagtailcore_tags wagtailimages_tags %}
+
+{% block content %}
+
+<!-- CONTENT -->
+<main role="main">
+
+  <section class="section--alternate project__header">
+    <div class="container">
+      <h1 class="lead heading">Podpoř projekt {{ page.title }}</h1>
+
+      <div class="row align-items-center">
+        <div class="col-12 col-md-6 mb-3 mb-md-0">
+          <p class="project__date">běží od {{ page.date|date:"j.n.Y" }}</p>
+        </div><!-- /column -->
+        <div class="col-12 col-md-6 text-md-right">
+          <div class="project__badges">
+            {% if page.is_new %}
+            <span class="badge badge-light new">Nově přidáno</span>
+            {% endif %}
+            {# TODO <span class="badge badge-light almost">Už jen kousek</span> #}
+          </div>
+        </div><!-- /column -->
+      </div><!-- /row -->
+    </div> <!-- /container -->
+  </section>
+
+  <section class="section--primary">
+    <div class="container">
+      <div class="row">
+        <div class="col-12 col-lg-8 col-xl-7 mb-4 mb-lg-0 richtext">
+
+            {% if page.gallery %}
+            <div class="row project-images mb-3">
+              {% for block in page.gallery %}
+                {% image block.value width-2000 as img %}
+                {% image block.value fill-150x100 as thumb %}
+                <div class="col-6 col-md-3">
+                  <a data-fancybox="gallery" href="{{ img.url }}"><img data-src="{{ thumb.url }}" class="lazyload img-fluid" alt="{{ img.alt }}"></a>
+                </div><!-- /column -->
+              {% endfor %}
+            </div><!-- /row -->
+            {% endif %}
+
+            {{ page.body|richtext }}
+
+          </div><!-- /column -->
+
+          <div class="col-12 col-lg-4 offset-xl-1"><!-- /column -->
+            <div class="project-donate-form mb-4">
+
+              <div class="project-donate-form__left">
+                <div class="project-donate-form__left-content">
+                  <h2 class="lead mb-0">Podpoř projekt</h2>
+                </div><!-- /project-donate-form__left-content -->
+              </div><!-- /project-donate-form__left -->
+
+              <div class="project-donate-form__right">
+                {% comment %} {# TODO #}
+                <h5>Vybráno <strong>4 963 Kč</strong> z <strong>250 000 Kč</strong></h5>
+                <div class="progress">
+                  <div class="progress-bar" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+                </div>
+                <hr>
+                <h5><strong>24 lidí</strong> přispělo</h5>
+                <h5><strong>40 dní</strong> do konce</h5>
+                <hr>
+                {% endcomment %}
+
+                <p class="mb-2">
+                  Pokud chcete podpořit tento projekt, zadejte prosím částku a vyberte
+                  mezi měsíčním nebo jednorázovým příspěvkem. Po kliknutí na tlačítko
+                  <strong>Darovat</strong> budete přesměrováni na formulář, kde
+                  vyplníte potřebné údaje a vyberete způsob převodu financí.
+                </p>
+
+                <form id="js-donate-form">
+                  <div class="form-group row mb-2 align-items-center">
+                      <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend>
+                      <div class="col-md-12">
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="amount1" name="amount" value="100" class="custom-control-input" checked>
+                            <label class="custom-control-label col-form-label-lg" for="amount1">100 Kč</label>
+                          </div>
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="amount2" name="amount" value="200" class="custom-control-input">
+                            <label class="custom-control-label col-form-label-lg" for="amount2">200 Kč</label>
+                          </div>
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="amount3" name="amount" value="500" class="custom-control-input">
+                            <label class="custom-control-label col-form-label-lg" for="amount3">500 Kč</label>
+                          </div>
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="amount4" name="amount" value="custom" class="custom-control-input">
+                            <label class="custom-control-label col-form-label-lg" for="amount4">Jiná</label>
+                          </div>
+                      </div>
+                  </div>
+                  <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input" style="display: none;">
+                      <div class="col-md-12">
+                        <div class="input-group input-group-lg mb-3 custom-amount">
+                          <input type="text" class="form-control" id="customamount" name="customamount" placeholder="1000" aria-describedby="customamount-currency">
+                          <div class="input-group-append">
+                            <span class="input-group-text" id="customamount-currency">Kč</span>
+                          </div>
+                        </div>
+                      </div>
+                  </div>
+                  <div class="form-group row mb-4 align-items-center">
+                      <legend class="col-form-label col-md-12 col-form-label-lg">Typ příspěvku</legend>
+                      <div class="col-md-12">
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="type1" name="type" value="monthly" class="custom-control-input" checked>
+                            <label class="custom-control-label col-form-label-lg" for="type1">Měsíční</label>
+                          </div>
+                          <div class="custom-control custom-radio custom-control-inline">
+                            <input type="radio" id="type2" name="type" value="onetime" class="custom-control-input">
+                            <label class="custom-control-label col-form-label-lg" for="type2">Jednorázový</label>
+                          </div>
+                      </div>
+                  </div>
+                  <div class="form-group row mb-0">
+                    <div class="col-12">
+                      <button type="submit" class="btn btn-success btn-lg">Darovat</button>
+                    </div>
+                  </div>
+                </form>
+
+              </div><!-- /project-donate-form__right -->
+            </div>
+
+            <div class="article__sharing-box">
+              <div class="card-body">
+                <div class="sharing-box__content">
+                  <div class="icon"><i class="icon-heart"></i></div>
+                  <div class="text"><h3 class="lead">Sdílení je aktem lásky</h3></div>
+                </div>
+                <div class="sharing-buttons">
+                  {# TODO #}
+                  <a href="#" class="btn btn-facebook"><i class="icon-facebook-f"></i></a>
+                  <a href="#" class="btn btn-twitter"><i class="icon-twitter"></i></a>
+                  <a href="#" class="btn btn-linkedin"><i class="icon-linkedin"></i></a>
+                </div>
+              </div>
+            <div class="image"><img data-src="{% static "donate/img/vlajka.jpg" %}" class="img-fluid lazyload" alt="Vlajka pirátů"></div>
+          </div><!-- /article__sharing-box -->
+
+        </div><!-- /column -->
+      </div> <!-- /row -->
+    </div> <!-- /container -->
+  </section>
+
+  <section class="section--alternate project__related">
+    <div class="container">
+      <h2 class="lead page-subheading mb-4">Další projekty</h2>
+      <div class="row projects mb-4">
+
+        {% for project in other_projects %}
+          {% include "donate/project_snippet.html" %}
+        {% endfor %}
+
+      </div><!-- /row -->
+      <a href="{% pageurl page.get_parent %}" class="btn btn-dark btn-lg"><i class="icon-chevron-left mr-2"></i> Projekty</a>
+    </div><!-- /container -->
+  </section>
+
+</main>
+<!-- /CONTENT -->
+
+{% endblock %}
diff --git a/donate/templates/donate/donate_region_index_page.html b/donate/templates/donate/donate_region_index_page.html
index d5fe5dd5e6089fd0b5dae7bcb1d3e59954236e12..a1e25ee05280149c0f84e645381aa3aeee66344f 100644
--- a/donate/templates/donate/donate_region_index_page.html
+++ b/donate/templates/donate/donate_region_index_page.html
@@ -1,5 +1,4 @@
 {% extends "donate/base.html" %}
-{% load static wagtailcore_tags %}
 
 {% block content %}
 
@@ -8,9 +7,7 @@
 
   <section class="section--primary">
     <div class="container">
-
       <h1 class="lead homepage-heading mb-4">{{ page.title }}</h1>
-
       <div class="row regions mb-4">
 
         {% for region in regions %}
@@ -18,7 +15,6 @@
         {% endfor %}
 
       </div> <!-- /row -->
-
     </div> <!-- /container -->
   </section>
 
diff --git a/donate/templates/donate/donate_region_page.html b/donate/templates/donate/donate_region_page.html
index afcdec653fff58c7b555fe0fef0fe388b6eaef9e..e27d73f7cfd8e6c5d2f56b6d01fe867a0b3c5872 100644
--- a/donate/templates/donate/donate_region_page.html
+++ b/donate/templates/donate/donate_region_page.html
@@ -8,7 +8,7 @@
 
   <section class="section--alternate region__header">
     <div class="container">
-      <h1 class="lead heading">{{ page.title }}</h1>
+      <h1 class="lead heading">{{ page.main_title }}</h1>
     </div> <!-- /container -->
   </section>
 
diff --git a/donate/templates/donate/project_snippet.html b/donate/templates/donate/project_snippet.html
new file mode 100644
index 0000000000000000000000000000000000000000..91806e5556dc9fff236b40bc0f24cd557de4c5e6
--- /dev/null
+++ b/donate/templates/donate/project_snippet.html
@@ -0,0 +1,26 @@
+{% load wagtailcore_tags wagtailimages_tags %}
+
+<div class="col-12 col-md-4 mb-4">
+  <a class="card project" href="{% pageurl project %}">
+    {% image project.photo fill-400x230 as img %}
+    <img data-src="{{ img.url }}" class="lazyload img-fluid card-img-top" alt="{{ project.title }}">
+    <div class="card-body">
+      <h5>{{ project.title }}</h5>
+      <p>{{ project.perex }}</p>
+    </div>
+    {% comment %} {# TODO #}
+    <div class="card-footer">
+      <div class="progress">
+        <div class="progress-bar" role="progressbar" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100"></div>
+      </div>
+      <p>Vybráno <strong>4 963 Kč</strong> z <strong>250 000 Kč</strong></p>
+    </div>
+    {% endcomment %}
+    {% if project.is_new %}
+    <ul class="project__flags">
+      <li class="project__flag new">Nový projekt</li>
+      {# TODO <li class="project__flag almost">Už jen kousek</li> #}
+    </ul>
+    {% endif %}
+  </a>
+</div><!-- /column -->