diff --git a/app/management/commands/generatetraffic.py b/app/management/commands/generatetraffic.py
index f0c26950815807e2dd3339df8da9c4ea738a971c..6ca5cdba2a4f283e71e7277ab8cfe96fe766cb24 100644
--- a/app/management/commands/generatetraffic.py
+++ b/app/management/commands/generatetraffic.py
@@ -8,7 +8,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.utils import timezone
 
 from app.models import Materi, Comment, Like, DownloadStatistics, ViewStatistics, DummyLike, DummyViewStatistics, DummyDownloadStatistics, DummyComment
-from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, getRandomColor, getLoremWithLength
+from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, get_random_color, get_lorem_with_length
 
 
 class Command(BaseCommand):
@@ -50,7 +50,7 @@ class Command(BaseCommand):
 
     def _comment_materi(self, timestamp, materi):
         item = Comment(materi=materi, timestamp=timestamp,
-                       profile=getRandomColor(), comment=getLoremWithLength(240))
+                       profile=get_random_color(), comment=get_lorem_with_length(240))
         item.save()
         DummyComment(item=item).save()
 
@@ -64,16 +64,7 @@ class Command(BaseCommand):
         s_date = materi_published_date[0]
         s_date = s_date.replace(day=s_date.day+1, hour=0,
                                 minute=0, second=0, microsecond=0)
-        # reports = []
         while (s_date < today):
-            # report = {
-            #     "s_date": s_date,
-            #     "visit": 0,
-            #     "view": 0,
-            #     "download": 0,
-            #     "like": 0,
-            #     "comment": 0,
-            # }
             today_materi = [i for i in materi if i.published_date < s_date]
             visiting_user = options["baseline"]
             visiting_user += int(options["coef_time"] * r_day) + \
@@ -82,8 +73,6 @@ class Command(BaseCommand):
                                 (1 + uniform(-options["coef_visit_range"],
                                              options["coef_visit_range"])))
             active_user = int(visiting_user * options["coef_read"])
-            # report["visit"] = visiting_user
-            # report["view"] = active_user
             times = generate_list_of_random_datetime(
                 s_date, s_date+timedelta(days=1), active_user)
             for timestamp in times:
@@ -91,23 +80,9 @@ class Command(BaseCommand):
                 self._view_materi(timestamp, selected_materi)
                 if random() < options["coef_download"]:
                     self._download_materi(timestamp, selected_materi)
-                    # report["download"] += 1
                 if random() < options["coef_like"]:
                     self._like_materi(timestamp, selected_materi)
-                    # report["like"] += 1
                 if random() < options["coef_comment"]:
                     self._comment_materi(timestamp, selected_materi)
-                    # report["comment"] += 1
             s_date = s_date + timedelta(days=1)
             r_day += 1
-            # reports.append(report)
-        # for i in range
-        # for i in reports:
-        #     self.stdout.write(self.style.SUCCESS(f"Today is {i['s_date']}"))
-        #     self.stdout.write(self.style.SUCCESS(f"User visit {i['visit']}"))
-        #     self.stdout.write(self.style.SUCCESS(f"User view {i['view']}"))
-        #     self.stdout.write(self.style.SUCCESS(
-        #         f"User download {i['download']}"))
-        #     self.stdout.write(self.style.SUCCESS(f"User like {i['like']}"))
-        #     self.stdout.write(self.style.SUCCESS(
-        #         f"User comment {i['comment']}"))
diff --git a/app/management/commands/removetraffic.py b/app/management/commands/removetraffic.py
index 73afceda4a06d41f29892df66ad8c20d97a86db5..06f7bc73ceb7bf60a1d54a7d27cc288cbdd987aa 100644
--- a/app/management/commands/removetraffic.py
+++ b/app/management/commands/removetraffic.py
@@ -8,7 +8,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.utils import timezone, lorem_ipsum
 
 from app.models import DummyLike, DummyViewStatistics, DummyDownloadStatistics, DummyComment
-from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, getRandomColor
+from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, get_random_color
 
 
 class Command(BaseCommand):
diff --git a/app/management/commands/utils.py b/app/management/commands/utils.py
index 35884ddbeac236a264a0ab4e7fe96c32f2ea0833..9a394e2c0b1052f551d2e34cde12de9fca5a8bde 100644
--- a/app/management/commands/utils.py
+++ b/app/management/commands/utils.py
@@ -9,12 +9,12 @@ from django.utils import timezone, lorem_ipsum
 SECONDS_IN_DAY = 86400
 
 
-def getRandomColor():
+def get_random_color():
     color = "%06x" % randint(0, 0xFFFFFF)
     return color
 
 
-def getLoremWithLength(n):
+def get_lorem_with_length(n):
     while True:
         s = lorem_ipsum.sentence()
         if len(s) < n:
@@ -43,7 +43,7 @@ def get_random_datetime(start_date, end_date, max_delta_seconds=None, min_delta_
 
 def generate_list_of_random_datetime(start, end, n):
     res = []
-    for i in range(n):
+    for _ in range(n):
         res.append(get_random_datetime(start, end))
     res.sort()
     return res
@@ -56,4 +56,4 @@ def get_last_year():
 
 
 def generate_random_string(n):
-    return(''.join(choice(ascii_letters) for i in range(n)))
+    return(''.join(choice(ascii_letters) for _ in range(n)))
diff --git a/app/migrations/0003_auto_20200509_2108.py b/app/migrations/0003_auto_20200509_2108.py
index 844d9d85ad27f5f5b3102597c4e8e8ef6173f8fd..4b47af81379e4fb8d8d7aefb1801016621a76828 100644
--- a/app/migrations/0003_auto_20200509_2108.py
+++ b/app/migrations/0003_auto_20200509_2108.py
@@ -14,6 +14,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='comment',
             name='profile',
-            field=models.CharField(default=app.models.getRandomColor, max_length=100),
+            field=models.CharField(default=app.models.get_random_color, max_length=100),
         ),
     ]
diff --git a/app/migrations/0025_review.py b/app/migrations/0025_review.py
index 79b7b89a4f655cf6851c7265539222047eef56e1..c57943a977e74551909a596ea4277cb656d905f9 100644
--- a/app/migrations/0025_review.py
+++ b/app/migrations/0025_review.py
@@ -20,7 +20,7 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('username', models.CharField(max_length=100)),
-                ('profile', models.CharField(default=app.models.getRandomColor, max_length=100)),
+                ('profile', models.CharField(default=app.models.get_random_color, max_length=100)),
                 ('review', models.TextField(default='review')),
                 ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
                 ('materi', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='app.materi')),
diff --git a/app/models.py b/app/models.py
index d1e07291686c66de854062dd475b5bebea869e6e..fb932f7546c54b0f22af0e02c9e1212f123b51f6 100644
--- a/app/models.py
+++ b/app/models.py
@@ -21,7 +21,7 @@ VERIFICATION_STATUS = [
 # Create your models here.
 
 
-def getRandomColor():
+def get_random_color():
     color = "%06x" % random.randint(0, 0xFFFFFF)
     return color
 
@@ -140,11 +140,12 @@ class Materi(SoftDeleteModel):
         like = False
         if Like.objects.filter(materi=self).exists():
             like = True
+        return like
 
 
 class Comment(models.Model):
     username = models.CharField(max_length=100)
-    profile = models.CharField(max_length=100, default=getRandomColor)
+    profile = models.CharField(max_length=100, default=get_random_color)
     comment = models.CharField(max_length=240, default="comments")
     materi = models.ForeignKey(Materi, models.SET_NULL, null=True)
     user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True)
@@ -165,7 +166,7 @@ class Comment(models.Model):
 
 class Review(models.Model):
     username = models.CharField(max_length=100)
-    profile = models.CharField(max_length=100, default=getRandomColor)
+    profile = models.CharField(max_length=100, default=get_random_color)
     review = models.TextField(default="review")
     materi = models.ForeignKey(Materi, models.SET_NULL, null=True)
     user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True)
diff --git a/app/services.py b/app/services.py
index a7032b8100e11b1e42935bd5323a490b0bfe973c..300dbf45b0873615d1d1586a7dd788038eafc4d6 100644
--- a/app/services.py
+++ b/app/services.py
@@ -343,7 +343,6 @@ class UploadMateriService:
         
     @staticmethod
     def validate_yt_video_url(value):
-        is_yt_id_valid = True
         r = requests.get('http://www.youtube.com/watch?v='+value)
         if "\"playabilityStatus\":{\"status\":\"ERROR\"" in r.text:
             raise ValidationError("Invalid Youtube video ID")
diff --git a/app/templates/app/base_admin.html b/app/templates/app/base_admin.html
index 7c8b851b015df98ead395e4bc31c80b72531268e..ff080f96ee2d739e2d7837189a7f9df131341030 100644
--- a/app/templates/app/base_admin.html
+++ b/app/templates/app/base_admin.html
@@ -55,13 +55,6 @@
           <span>Sunting Profil</span></a>
       </li>
 
-      <!--
-      <li class="nav-item">
-        <a class="nav-link" href="/sunting/">
-          <span>Sunting Profil</span></a>
-      </li>
-    -->
-
     </ul>
     <!-- End of Sidebar -->
 
diff --git a/app/templates/app/detail_materi.html b/app/templates/app/detail_materi.html
index c2394ebaf56cb9b095334d57e7cc88b4924f0c7d..c083179bf1378998081c5f819bd78cf70b8c4816 100644
--- a/app/templates/app/detail_materi.html
+++ b/app/templates/app/detail_materi.html
@@ -22,7 +22,8 @@ div.review {
 {% block verification %} {% endblock verification %}
 <div id="fb-root"></div>
 <div class="container-fluid p-0 bg detail-materi-color">
-    <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
+    <span class="modal-title black-text" id="navbarLabel" style="display: none;">Navbar</span>
+    <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow" aria-labelledby="navbarLabel">
 
         <!-- Sidebar Toggle (Topbar) -->
         <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
@@ -287,7 +288,8 @@ div.review {
         </div>
     </div>
     <div class="row menu-wrapper mr-4 ml-4 p-3">
-        <nav class="navbar navbar-expand-sm border-top border-bottom p-0 mt-3 mb-3">
+        <span class="modal-title black-text" id="navbarLabelTwo" style="display: none;">Navbar</span>
+        <nav class="navbar navbar-expand-sm border-top border-bottom p-0 mt-3 mb-3" aria-labelledby="navbarLabelTwo">
             <ul class="navbar-nav">
                 <li class="nav-item">
                     <a class="nav-link" href="#deskripsi">Deskripsi</a>
diff --git a/app/templates/app/katalog_materi.html b/app/templates/app/katalog_materi.html
index 224232c1a609e82a1004dd0183bd6ac83059cd48..4a06d4c5a4233e6766f70a3617cf61c9755260e2 100644
--- a/app/templates/app/katalog_materi.html
+++ b/app/templates/app/katalog_materi.html
@@ -160,7 +160,7 @@
                     {% for item in materi_list %}
                     <div class="card book">
                         <img src={{item.cover.url}} class="card-img-top" alt="cover"
-                            style="height:200px; widows: 200px;; overflow: hidden;"></img>
+                            style="height:200px; widows: 200px; overflow: hidden;"></img>
                         <div class="card-body">
                             <h5 class="card-title">{{item.title}}</h5>
                             <p class="card-text">{{item.author}}</p>
diff --git a/app/utils/fileManagementUtil.py b/app/utils/fileManagementUtil.py
index d693b01fea0cbd035f0fa6e7ef347cdac1d0373b..a31e0aaad64e0098b073338bc4bb6a67d1de504e 100644
--- a/app/utils/fileManagementUtil.py
+++ b/app/utils/fileManagementUtil.py
@@ -12,6 +12,5 @@ def get_random_filename(f_name):
 def remove_image_exifdata(f_path):
     img = Image.open(f_path)
     img.save(f_path)
-    return   
 
 
diff --git a/app/views.py b/app/views.py
index 5b2b35a2240c8be3455bc3632faf8b43257a7c34..233bd53d4547d2f212c8db0629c8d3c85ff3e10c 100644
--- a/app/views.py
+++ b/app/views.py
@@ -39,6 +39,13 @@ from .services import DafterKatalogService, DetailMateriService, LikeDislikeServ
     DownloadViewMateriHelperService, UploadMateriService, EditProfileService, RevisiMateriService, \
     DownloadHistoryService, GoogleDriveUploadService, ReadLaterService
 
+MISSING_PARAMETER_MESSAGE = "Missing parameter"
+UNSUPPORTED_MESSAGE = "Unsuported method"
+FILE_NOT_FOUND_MESSAGE = "File tidak dapat ditemukan."
+UNGGAH_HTML = "unggah.html"
+UNGGAH_URL = "/unggah/"
+UNGGAH_EXCEL_URL = "/unggah_excel/"
+LOGIN_URL = "/login/"
 
 def permission_denied(request, exception, template_name="error_403.html"):
     return defaults.permission_denied(request, exception, template_name)
@@ -55,13 +62,13 @@ class DaftarKatalog(TemplateView):
         context = self.get_context_data(**kwargs)
         context["kategori_list"] = Category.objects.all()
 
-        lstMateri = Materi.objects.filter(status="APPROVE").order_by("date_modified")
+        lst_materi = Materi.objects.filter(status="APPROVE").order_by("date_modified")
         url = ""
 
-        lstMateri, url = DafterKatalogService.apply_options(lstMateri, request, url)
+        lst_materi, url = DafterKatalogService.apply_options(lst_materi, request, url)
 
 
-        context["materi_list"] = lstMateri
+        context["materi_list"] = lst_materi
         paginator = Paginator(context["materi_list"], 15)
         page_number = request.GET.get("page")
         page_obj = paginator.get_page(page_number)
@@ -226,10 +233,10 @@ def toggle_like(request):
         materi_id = request.POST.get("materi_id", None)
         session_id = request.POST.get("session_id", None)
         if materi_id is None or session_id is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter"})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE})
         return JsonResponse(LikeDislikeService.apply_like_materi(materi_id, session_id))
     else:
-        return JsonResponse({"success": False, "msg": "Unsuported method"})
+        return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE})
 
 
 def delete_comment(request, pk_materi, pk_comment):
@@ -246,10 +253,10 @@ def toggle_like_comment(request):
         comment_id = request.POST.get("comment_id", None)
         session_id = request.POST.get("session_id", None)
         if comment_id is None or session_id is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter", "comment_id": comment_id})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE, "comment_id": comment_id})
         return JsonResponse(LikeDislikeService.apply_comment_like(comment_id, session_id))
     else:
-        return JsonResponse({"success": False, "msg": "Unsuported method", "comment_id": comment_id})
+        return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE, "comment_id": comment_id})
 
 
 def toggle_dislike_comment(request):
@@ -258,10 +265,10 @@ def toggle_dislike_comment(request):
         comment_id = request.POST.get("comment_id", None)
         session_id = request.POST.get("session_id", None)
         if comment_id is None or session_id is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter", "comment_id": comment_id})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE, "comment_id": comment_id})
         return JsonResponse(LikeDislikeService.apply_comment_dislike(comment_id, session_id))
     else:
-        return JsonResponse({"success": False, "msg": "Unsuported method", "comment_id": comment_id})
+        return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE, "comment_id": comment_id})
 
 
 def add_rating_materi(request):
@@ -305,10 +312,10 @@ def download_materi(request, pk):
                 return DownloadViewMateriHelperService.build_materi_response(fh, file_path,
                                                                              materi, mimetype, request,
                                                                              HttpResponse(fh.read(), content_type=mimetype[0]))
-        except Exception as e:
-            raise Http404("File tidak dapat ditemukan.")
+        except Exception:
+            raise Http404(FILE_NOT_FOUND_MESSAGE)
     else:
-        raise Http404("File tidak dapat ditemukan.")
+        raise Http404(FILE_NOT_FOUND_MESSAGE)
 
 
 def view_materi(request, pk):
@@ -322,10 +329,10 @@ def view_materi(request, pk):
                 response = HttpResponse(fh.read(), content_type=mimetype[0])
                 DownloadViewMateriHelperService.build_view_materi_response(file_path, materi, response)
                 return response
-        except Exception as e:
-            raise Http404("File tidak dapat ditemukan.")
+        except Exception:
+            raise Http404(FILE_NOT_FOUND_MESSAGE)
     else:
-        raise Http404("File tidak dapat ditemukan.")
+        raise Http404(FILE_NOT_FOUND_MESSAGE)
 
 
 def delete_materi(request, pk):
@@ -337,7 +344,7 @@ def delete_materi(request, pk):
     return HttpResponseRedirect("/dashboard/")
 
 class UploadMateriView(TemplateView):
-    template_name = "unggah.html"
+    template_name = UNGGAH_HTML
     context = {}
 
     def get_context_data(self, **kwargs):
@@ -354,10 +361,10 @@ class UploadMateriView(TemplateView):
             konten = form.cleaned_data["content"]
             yt_url_id = form.cleaned_data['yt_video_id']
             if not UploadMateriService.validate_file_extension(konten, request, yt_url_id):
-                return HttpResponseRedirect("/unggah/")
+                return HttpResponseRedirect(UNGGAH_URL)
             UploadMateriService.upload_materi(form, materi)
             messages.success(request, "Materi berhasil diunggah, periksa riwayat unggah anda")
-            return HttpResponseRedirect("/unggah/")
+            return HttpResponseRedirect(UNGGAH_URL)
         else:
             context = self.get_context_data(**kwargs)
             context["form"] = form
@@ -376,12 +383,12 @@ class UploadMateriView(TemplateView):
 
 
 class UploadMateriHTML(TemplateView):
-    template_name = "unggah.html"
+    template_name = UNGGAH_HTML
     context = {}
 
     def get_template_names(self):
-        if self.request.path == "/unggah/":
-            template_name = "unggah.html"
+        if self.request.path == UNGGAH_URL:
+            template_name = UNGGAH_HTML
         return template_name
 
 
@@ -390,7 +397,7 @@ class UploadMateriExcelView(TemplateView):
     context = {}
 
     def get_template_names(self):
-        if self.request.path == "/unggah_excel/":
+        if self.request.path == UNGGAH_EXCEL_URL:
             template_name = "unggah_excel.html"
         return template_name
 
@@ -446,7 +453,7 @@ class UploadMateriExcelView(TemplateView):
 
         if message != None:
             messages.error(request, message)
-            return HttpResponseRedirect("/unggah_excel/")
+            return HttpResponseRedirect(UNGGAH_EXCEL_URL)
 
         # Second pass, save data
         with django.db.transaction.atomic():
@@ -454,7 +461,7 @@ class UploadMateriExcelView(TemplateView):
 
         messages.success(request, "Materi berhasil diunggah")
 
-        return HttpResponseRedirect("/unggah_excel/")
+        return HttpResponseRedirect(UNGGAH_EXCEL_URL)
 
 
 
@@ -536,7 +543,7 @@ class ReqMateriView(TemplateView):
 
     def dispatch(self, request, *args, **kwargs):
         if request.user.is_authenticated == False:
-            return HttpResponseRedirect("/login/")
+            return HttpResponseRedirect(LOGIN_URL)
         return super(ReqMateriView, self).dispatch(request, *args, **kwargs)
 
     def get_context_data(self, **kwargs):
@@ -551,7 +558,7 @@ class ReqMateriView(TemplateView):
     def post(self, request, *args, **kwargs):
         title = request.POST.get("title", None)
         if title is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter"})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE})
         ReqMaterial(title=title).save()
         return JsonResponse({"success": True, "msg": "Permintaan materi berhasil dikirimkan"})
 
@@ -669,7 +676,7 @@ def pages(request):
         template = loader.get_template(load_template)
         return HttpResponse(template.render(context, request))
 
-    except Exception as e:
+    except Exception:
 
         template = loader.get_template("error-404.html")
         return HttpResponse(template.render(context, request))
@@ -699,7 +706,7 @@ def save_to_gdrive(request, pk):
     if os.path.exists(file_path):
         GoogleDriveUploadService.upload_to_gdrive(file_path, materi.title)
     else:
-        raise Http404("File tidak dapat ditemukan.")
+        raise Http404(FILE_NOT_FOUND_MESSAGE)
 
     return HttpResponseRedirect(reverse('detail-materi', kwargs={'pk': pk}))
 
@@ -768,7 +775,7 @@ class SubmitVisitorView(TemplateView):
 
     def dispatch(self, request, *args, **kwargs):
         if request.user.is_authenticated == False:
-            return HttpResponseRedirect("/login/")
+            return HttpResponseRedirect(LOGIN_URL)
         return super(SubmitVisitorView, self).dispatch(request, *args, **kwargs)
 
     def get_context_data(self, **kwargs):
@@ -784,7 +791,7 @@ class SubmitVisitorView(TemplateView):
         email = request.POST.get("email", None)
         user_id = request.POST.get("user_id", None)
         if title is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter"})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE})
         SubmitVisitor(msg=title, user_id=user_id, email=email).save()
         return JsonResponse({"success": True, "msg": "Buku tamu berhasil ditambahkan"})
 
@@ -810,18 +817,18 @@ def toggle_readlater(request):
     if request.method == "POST":
         materi_id = request.POST.get("materi_id", None)
         if materi_id is None:
-            return JsonResponse({"success": False, "msg": "Missing parameter"})
+            return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE})
         
         return JsonResponse(ReadLaterService.toggle_read_later(materi_id, request.user))
     else:
-        return JsonResponse({"success": False, "msg": "Unsuported method"})
+        return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE})
 
 class StatisticsView(TemplateView):
     template_name = "statistik.html"
 
     def dispatch(self, request, *args, **kwargs):
         if request.user.is_authenticated == False:
-            return HttpResponseRedirect("/login/")
+            return HttpResponseRedirect(LOGIN_URL)
         return super(StatisticsView, self).dispatch(request, *args, **kwargs)
 
     def get_stat_json(self):
diff --git a/docker-compose.yml b/docker-compose.yml
index a595488cc40c670433ef120484d40fb3b8627b70..4e5ad6dd70b2ccf2e693243aca890fac65884131 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,15 +6,15 @@ services:
     env_file:
       - .env
     ports:
-    - 8000:8000
+      - 8000:8000
     depends_on:
       - db
   db:
     image: postgres:12
     volumes:
-    - postgres_data:/var/lib/postgresql/data/
-    - static_volume:/home/digipus/staticfiles
-    - media_volume:/home/digipus/mediafiles
+      - postgres_data:/var/lib/postgresql/data/
+      - static_volume:/home/digipus/staticfiles
+      - media_volume:/home/digipus/mediafiles
     env_file:
       - .env.db
 
diff --git a/formating.sh b/formating.sh
index 573630b66894365044f164ee4d3dbcdf802480f4..73d7ed9afaf80894229017fb1c3d4c3430d093eb 100644
--- a/formating.sh
+++ b/formating.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 # Run autopep8
 git ls-files | grep -v 'migrations' | grep -v 'settings.py' | grep -v 'manage.py' | grep -E '.py$' | xargs autopep8 --in-place --recursive
 # Run pylint
diff --git a/register/forms.py b/register/forms.py
index 1b3b5ba717ffba57f45ea4d4c1f995be00ae2651..cf038b1c2867bd1d155932d8eeccc4e70ec8c192 100644
--- a/register/forms.py
+++ b/register/forms.py
@@ -46,9 +46,9 @@ class UserForm(forms.ModelForm):
         nomor_telpon = self.cleaned_data.get("nomor_telpon")
         if not User.objects.filter(nomor_telpon=nomor_telpon).exists():
             try:
-                no_telp = int(nomor_telpon)
+                int(nomor_telpon)
                 return nomor_telpon
-            except:
+            except ValueError:
                 raise forms.ValidationError("Hanya masukkan angka")
         raise forms.ValidationError("Nomor telepon sudah digunakan untuk mendaftar akun")
 
diff --git a/register/templates/index_admin.html b/register/templates/index_admin.html
index e1bfa08d23e59ead23670c8536ac12166057964d..aaf9eb6e344b81492f8af6b0fdda4da1c5a1053c 100644
--- a/register/templates/index_admin.html
+++ b/register/templates/index_admin.html
@@ -45,53 +45,45 @@
                             Registrasi Admin
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.name }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Nama</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Password is required">
-                            <!-- <input class="input100" type="text" name="pekerjaan"> -->
                             {{ form.instansi }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Instansi/Pekerjaan</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.nik.errors }}
                             {{ form.nik }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">NIK</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.alamat }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Alamat</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.email.errors }}
                             {{ form.email }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Email</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.nomor_telpon.errors }}
                             {{ form.nomor_telpon }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Nomor Telepon</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.password.errors }}
                             {{ form.password }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Kata Sandi</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz">
-                            <!-- <input class="input100" type="text" name="nama"> -->
                             {{ form.password2 }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Ketik Ulang Kata Sandi</span>
diff --git a/register/templates/index_umum.html b/register/templates/index_umum.html
index 1c00bac0bca30ed169b2cda2b045c57cd2613315..7aa60dcb4c5066ab2b54dfd42b7b6cb65bc56960 100644
--- a/register/templates/index_umum.html
+++ b/register/templates/index_umum.html
@@ -47,7 +47,6 @@
                             <span class="label-input100">Nama</span>
                         </div>
                         <div class="wrap-input100 validate-input" data-validate="Password is required">
-                            <!-- <input class="input100" type="text" name="pekerjaan"> -->
                             {{ form.instansi }}
                             <span class="focus-input100"></span>
                             <span class="label-input100">Instansi/Pekerjaan</span>