diff --git a/pyconbalkan/core/admin.py b/pyconbalkan/core/admin.py
index 26f78a8e..e1f78093 100644
--- a/pyconbalkan/core/admin.py
+++ b/pyconbalkan/core/admin.py
@@ -1,5 +1,19 @@
from django.apps import AppConfig
+from django.contrib import admin
+
+from pyconbalkan.core.models import Speaker, SpeakerPhoto
class CoreConfig(AppConfig):
name = 'core'
+
+
+class SpeakerImageInline(admin.TabularInline):
+ model = SpeakerPhoto
+
+
+class SpeakerAdmin(admin.ModelAdmin):
+ inlines = [SpeakerImageInline]
+
+
+admin.site.register(Speaker, SpeakerAdmin)
diff --git a/pyconbalkan/core/migrations/0001_initial.py b/pyconbalkan/core/migrations/0001_initial.py
new file mode 100644
index 00000000..f8130f4f
--- /dev/null
+++ b/pyconbalkan/core/migrations/0001_initial.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2018-04-23 11:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Speaker',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=50)),
+ ('job', models.CharField(max_length=100)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='SpeakerPhoto',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('profile_picture', models.ImageField(upload_to='static/img')),
+ ('speaker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='core.Speaker')),
+ ],
+ ),
+ ]
diff --git a/pyconbalkan/core/models.py b/pyconbalkan/core/models.py
index 71a83623..8f3083f0 100644
--- a/pyconbalkan/core/models.py
+++ b/pyconbalkan/core/models.py
@@ -1,3 +1,16 @@
from django.db import models
# Create your models here.
+
+
+class Speaker(models.Model):
+ name = models.CharField(max_length=50)
+ job = models.CharField(max_length=100)
+
+ def __str__(self):
+ return self.name
+
+
+class SpeakerPhoto(models.Model):
+ speaker = models.ForeignKey('Speaker', related_name='images')
+ profile_picture = models.ImageField(upload_to="static/img")
diff --git a/pyconbalkan/core/static/css/style.css b/pyconbalkan/core/static/css/style.css
index 51061469..8c066fa1 100644
--- a/pyconbalkan/core/static/css/style.css
+++ b/pyconbalkan/core/static/css/style.css
@@ -24,7 +24,7 @@ body {
/* Full height */
height: 100%;
/* Center and scale the image nicely */
- background: url("{% static img/background.jpg %}") no-repeat no-repeat center center fixed;
+ background: url('/static/img/background.jpg') no-repeat no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
diff --git a/pyconbalkan/core/static/img/favicon-16x16.png b/pyconbalkan/core/static/img/favicon-16x16.png
new file mode 100644
index 00000000..401ccd11
Binary files /dev/null and b/pyconbalkan/core/static/img/favicon-16x16.png differ
diff --git a/pyconbalkan/core/static/img/favicon-32x32.png b/pyconbalkan/core/static/img/favicon-32x32.png
new file mode 100644
index 00000000..47a4d3f8
Binary files /dev/null and b/pyconbalkan/core/static/img/favicon-32x32.png differ
diff --git a/pyconbalkan/core/static/img/user1.png b/pyconbalkan/core/static/img/userphoto.png
similarity index 100%
rename from pyconbalkan/core/static/img/user1.png
rename to pyconbalkan/core/static/img/userphoto.png
diff --git a/pyconbalkan/core/static/pdf/coc_pyconbalkan.pdf b/pyconbalkan/core/static/pdf/coc_pyconbalkan.pdf
new file mode 100644
index 00000000..fec394c0
Binary files /dev/null and b/pyconbalkan/core/static/pdf/coc_pyconbalkan.pdf differ
diff --git a/pyconbalkan/core/templates/index.html b/pyconbalkan/core/templates/index.html
index 5d3515a3..f086b189 100644
--- a/pyconbalkan/core/templates/index.html
+++ b/pyconbalkan/core/templates/index.html
@@ -11,7 +11,8 @@
-
+
+
@@ -19,7 +20,7 @@
-
+