diff --git a/backend/secfit/Dockerfile b/backend/secfit/Dockerfile
index 3d400d031359f752828852626e46d9b535e3d1f1..ddd4cda3f0f2407d6936f6b23ebc15df801539be 100644
--- a/backend/secfit/Dockerfile
+++ b/backend/secfit/Dockerfile
@@ -8,11 +8,11 @@ ENV PYTHONDONTWRITEBYTECODE 1
 # Make a new directory to put our code in.
 RUN mkdir /code
 
-# Change the working directory. 
+# Change the working directory.
 # Every command after this will be run from the /code directory.
 WORKDIR /code
 
-# Copy the of the code. 
+# Copy the of the code.
 COPY . /code/
 
 # Add sqlite3 to enable dbshell command for managing the database
@@ -28,6 +28,7 @@ RUN pip install -r requirements.txt
 ENV GROUPID=${GROUPID}
 
 # Initialize Django
+RUN python manage.py makemigrations
 RUN python manage.py migrate
 
 # Import credential variables
diff --git a/backend/secfit/users/migrations/0001_initial.py b/backend/secfit/users/migrations/0001_initial.py
deleted file mode 100644
index e95b30d4751e3f36605b7144eb216231b6fe5ca9..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0001_initial.py
+++ /dev/null
@@ -1,211 +0,0 @@
-# Generated by Django 3.1 on 2020-08-21 03:42
-
-from django.conf import settings
-import django.contrib.auth.models
-import django.contrib.auth.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import django.utils.timezone
-
-
-class Migration(migrations.Migration):
-
-    initial = True
-
-    dependencies = [
-        ("auth", "0012_alter_user_first_name_max_length"),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name="User",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("password", models.CharField(max_length=128, verbose_name="password")),
-                (
-                    "last_login",
-                    models.DateTimeField(
-                        blank=True, null=True, verbose_name="last login"
-                    ),
-                ),
-                (
-                    "is_superuser",
-                    models.BooleanField(
-                        default=False,
-                        help_text="Designates that this user has all permissions without explicitly assigning them.",
-                        verbose_name="superuser status",
-                    ),
-                ),
-                (
-                    "username",
-                    models.CharField(
-                        error_messages={
-                            "unique": "A user with that username already exists."
-                        },
-                        help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
-                        max_length=150,
-                        unique=True,
-                        validators=[
-                            django.contrib.auth.validators.UnicodeUsernameValidator()
-                        ],
-                        verbose_name="username",
-                    ),
-                ),
-                (
-                    "first_name",
-                    models.CharField(
-                        blank=True, max_length=150, verbose_name="first name"
-                    ),
-                ),
-                (
-                    "last_name",
-                    models.CharField(
-                        blank=True, max_length=150, verbose_name="last name"
-                    ),
-                ),
-                (
-                    "email",
-                    models.EmailField(
-                        blank=True, max_length=254, verbose_name="email address"
-                    ),
-                ),
-                (
-                    "is_staff",
-                    models.BooleanField(
-                        default=False,
-                        help_text="Designates whether the user can log into this admin site.",
-                        verbose_name="staff status",
-                    ),
-                ),
-                (
-                    "is_active",
-                    models.BooleanField(
-                        default=True,
-                        help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
-                        verbose_name="active",
-                    ),
-                ),
-                (
-                    "date_joined",
-                    models.DateTimeField(
-                        default=django.utils.timezone.now, verbose_name="date joined"
-                    ),
-                ),
-                (
-                    "coach",
-                    models.ForeignKey(
-                        null=True,
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="athletes",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-                (
-                    "groups",
-                    models.ManyToManyField(
-                        blank=True,
-                        help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
-                        related_name="user_set",
-                        related_query_name="user",
-                        to="auth.Group",
-                        verbose_name="groups",
-                    ),
-                ),
-                (
-                    "user_permissions",
-                    models.ManyToManyField(
-                        blank=True,
-                        help_text="Specific permissions for this user.",
-                        related_name="user_set",
-                        related_query_name="user",
-                        to="auth.Permission",
-                        verbose_name="user permissions",
-                    ),
-                ),
-            ],
-            options={
-                "verbose_name": "user",
-                "verbose_name_plural": "users",
-                "abstract": False,
-            },
-            managers=[
-                ("objects", django.contrib.auth.models.UserManager()),
-            ],
-        ),
-        migrations.CreateModel(
-            name="Offer",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "offer_type",
-                    models.CharField(
-                        choices=[("co", "Coach"), ("at", "Athlete")],
-                        default="at",
-                        max_length=8,
-                    ),
-                ),
-                (
-                    "owner",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="sent_offers",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-                (
-                    "recipient",
-                    models.OneToOneField(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="received_offers",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-            ],
-        ),
-        migrations.CreateModel(
-            name="OfferResponse",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "response",
-                    models.CharField(
-                        blank=True,
-                        choices=[("a", "Accept"), ("d", "Decline")],
-                        max_length=8,
-                    ),
-                ),
-                (
-                    "offer",
-                    models.OneToOneField(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="response",
-                        to="users.offer",
-                    ),
-                ),
-            ],
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0002_auto_20200907_1200.py b/backend/secfit/users/migrations/0002_auto_20200907_1200.py
deleted file mode 100644
index e1ffdfc85bbfa6746a249e02fb018710a3545c1a..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0002_auto_20200907_1200.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Generated by Django 3.1 on 2020-09-07 10:00
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0001_initial"),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name="offer",
-            name="stale",
-            field=models.BooleanField(default=False),
-        ),
-        migrations.AddField(
-            model_name="offer",
-            name="status",
-            field=models.CharField(
-                choices=[("a", "Accepted"), ("p", "Pending"), ("d", "Declined")],
-                default="p",
-                max_length=8,
-            ),
-        ),
-        migrations.DeleteModel(
-            name="OfferResponse",
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0003_auto_20200907_1954.py b/backend/secfit/users/migrations/0003_auto_20200907_1954.py
deleted file mode 100644
index c7f18c817057b573e3275f36a69f00e13676e5f3..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0003_auto_20200907_1954.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Generated by Django 3.1 on 2020-09-07 17:54
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0002_auto_20200907_1200"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="offer",
-            name="recipient",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="received_offers",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0004_auto_20200907_2021.py b/backend/secfit/users/migrations/0004_auto_20200907_2021.py
deleted file mode 100644
index ff6be46f14e2bd0adc097f802b81ce758e4afcb1..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0004_auto_20200907_2021.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Generated by Django 3.1 on 2020-09-07 18:21
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0003_auto_20200907_1954"),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name="AthleteRequest",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "status",
-                    models.CharField(
-                        choices=[
-                            ("a", "Accepted"),
-                            ("p", "Pending"),
-                            ("d", "Declined"),
-                        ],
-                        default="p",
-                        max_length=8,
-                    ),
-                ),
-                ("stale", models.BooleanField(default=False)),
-                (
-                    "owner",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="sent_athlete_requests",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-                (
-                    "recipient",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="received_athlete_requests",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-            ],
-            options={
-                "abstract": False,
-            },
-        ),
-        migrations.CreateModel(
-            name="CoachRequest",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "status",
-                    models.CharField(
-                        choices=[
-                            ("a", "Accepted"),
-                            ("p", "Pending"),
-                            ("d", "Declined"),
-                        ],
-                        default="p",
-                        max_length=8,
-                    ),
-                ),
-                ("stale", models.BooleanField(default=False)),
-                (
-                    "owner",
-                    models.OneToOneField(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="sent_coach_request",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-                (
-                    "recipient",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="received_coach_requests",
-                        to=settings.AUTH_USER_MODEL,
-                    ),
-                ),
-            ],
-            options={
-                "abstract": False,
-            },
-        ),
-        migrations.DeleteModel(
-            name="Offer",
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0005_auto_20200907_2039.py b/backend/secfit/users/migrations/0005_auto_20200907_2039.py
deleted file mode 100644
index 269e723bda3ff1b5b2207d1f7471b0f698682033..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0005_auto_20200907_2039.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Generated by Django 3.1 on 2020-09-07 18:39
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0004_auto_20200907_2021"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="athleterequest",
-            name="owner",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="sent_athleterequests",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AlterField(
-            model_name="athleterequest",
-            name="recipient",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="received_athleterequests",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AlterField(
-            model_name="coachrequest",
-            name="owner",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="sent_coachrequests",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AlterField(
-            model_name="coachrequest",
-            name="recipient",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="received_coachrequests",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0006_auto_20200907_2054.py b/backend/secfit/users/migrations/0006_auto_20200907_2054.py
deleted file mode 100644
index ed2ff761a8072336a82493831b79d1b99edb2b34..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0006_auto_20200907_2054.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Generated by Django 3.1 on 2020-09-07 18:54
-
-from django.db import migrations, models
-import django.utils.timezone
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0005_auto_20200907_2039"),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name="athleterequest",
-            name="timestamp",
-            field=models.DateTimeField(
-                auto_now_add=True, default=django.utils.timezone.now
-            ),
-            preserve_default=False,
-        ),
-        migrations.AddField(
-            model_name="coachrequest",
-            name="timestamp",
-            field=models.DateTimeField(
-                auto_now_add=True, default=django.utils.timezone.now
-            ),
-            preserve_default=False,
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0007_auto_20200910_0222.py b/backend/secfit/users/migrations/0007_auto_20200910_0222.py
deleted file mode 100644
index 48a081d1f9387a1eb0fcd66648ec53d0ec8c1410..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0007_auto_20200910_0222.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# Generated by Django 3.1 on 2020-09-10 00:22
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-import users.models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0006_auto_20200907_2054"),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name="AthleteFile",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "file",
-                    models.FileField(upload_to=users.models.athlete_directory_path),
-                ),
-            ],
-        ),
-        migrations.CreateModel(
-            name="Offer",
-            fields=[
-                (
-                    "id",
-                    models.AutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                (
-                    "status",
-                    models.CharField(
-                        choices=[
-                            ("a", "Accepted"),
-                            ("p", "Pending"),
-                            ("d", "Declined"),
-                        ],
-                        default="p",
-                        max_length=8,
-                    ),
-                ),
-                (
-                    "offer_type",
-                    models.CharField(
-                        choices=[("a", "Athlete"), ("c", "Coach")],
-                        default="a",
-                        max_length=8,
-                    ),
-                ),
-                ("stale", models.BooleanField(default=False)),
-                ("timestamp", models.DateTimeField(auto_now_add=True)),
-            ],
-        ),
-        migrations.RemoveField(
-            model_name="coachrequest",
-            name="owner",
-        ),
-        migrations.RemoveField(
-            model_name="coachrequest",
-            name="recipient",
-        ),
-        migrations.AlterField(
-            model_name="user",
-            name="coach",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="athletes",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.DeleteModel(
-            name="AthleteRequest",
-        ),
-        migrations.DeleteModel(
-            name="CoachRequest",
-        ),
-        migrations.AddField(
-            model_name="offer",
-            name="owner",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="sent_offers",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AddField(
-            model_name="offer",
-            name="recipient",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="received_offers",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AddField(
-            model_name="athletefile",
-            name="athlete",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="coach_files",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-        migrations.AddField(
-            model_name="athletefile",
-            name="owner",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="athlete_files",
-                to=settings.AUTH_USER_MODEL,
-            ),
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0008_auto_20201213_2228.py b/backend/secfit/users/migrations/0008_auto_20201213_2228.py
deleted file mode 100644
index b2a2d3bd1f048227365bd679b1a253855cd4b776..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0008_auto_20201213_2228.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Generated by Django 3.1 on 2020-12-13 21:28
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('users', '0007_auto_20200910_0222'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='offer',
-            name='offer_type',
-        ),
-        migrations.RemoveField(
-            model_name='offer',
-            name='stale',
-        ),
-    ]
diff --git a/backend/secfit/users/migrations/0009_auto_20210204_1055.py b/backend/secfit/users/migrations/0009_auto_20210204_1055.py
deleted file mode 100644
index 90d76ebd4412716db60b8615e474bfa9bc0464b4..0000000000000000000000000000000000000000
--- a/backend/secfit/users/migrations/0009_auto_20210204_1055.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Generated by Django 3.1 on 2021-02-04 10:55
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('users', '0008_auto_20201213_2228'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='user',
-            name='city',
-            field=models.TextField(blank=True, max_length=50),
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='country',
-            field=models.TextField(blank=True, max_length=50),
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='phone_number',
-            field=models.TextField(blank=True, max_length=50),
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='street_address',
-            field=models.TextField(blank=True, max_length=50),
-        ),
-    ]