diff --git a/.gitignore b/.gitignore
index 2a7a19b2327ad5052b12d84c9bc9c80ea797ab5c..136a616cd3d66689897d654d52bdf67635075638 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 __pycache__
 db.sqlite3
 static
+staticfiles
 media
 core/migrations/*.py
 
diff --git a/ece651_backend/settings.py b/ece651_backend/settings.py
index 580020ef3ecb15deb49298b4c6969ad9e787a689..491094dc74fc8db5bff975de75c203c35af866bc 100644
--- a/ece651_backend/settings.py
+++ b/ece651_backend/settings.py
@@ -60,6 +60,7 @@ REST_KNOX = {
 
 MIDDLEWARE = [
     'django.middleware.security.SecurityMiddleware',
+    'whitenoise.middleware.WhiteNoiseMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
@@ -136,14 +137,14 @@ USE_TZ = True
 # https://docs.djangoproject.com/en/4.1/howto/static-files/
 
 STATIC_URL = 'static/'
-STATIC_ROOT = os.path.join(BASE_DIR, "static/")
-
-STATICFILES_DIRS = (
-    ("js", os.path.join(STATIC_ROOT, 'js')),
-    ("css", os.path.join(STATIC_ROOT, 'css')),
-    ("images", os.path.join(STATIC_ROOT, 'images')),
-    ("fonts", os.path.join(STATIC_ROOT, 'fonts')),
-)
+if DEBUG:
+    STATICFILES_DIRS = (
+        os.path.join(BASE_DIR, "static"),
+    )
+else:
+    # STATIC_ROOT = os.path.join(BASE_DIR, "static")
+    STATIC_ROOT = BASE_DIR / "staticfiles"
+STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
 
 # Default primary key field type
 # https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field
@@ -160,4 +161,4 @@ EMAIL_HOST_PASSWORD = 'psqytbyafqujeiji'
 
 # Media Settings
 MEDIA_URL = 'media/'
-MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
+MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
diff --git a/ece651_backend/urls.py b/ece651_backend/urls.py
index 259b68dc7735d8203cbdda25b4ddc2c5d1d596cb..51e27e6c91fd85c0165a6cb05f09303724e87ee5 100644
--- a/ece651_backend/urls.py
+++ b/ece651_backend/urls.py
@@ -2,6 +2,7 @@ from django.conf import settings
 from django.conf.urls.static import static
 from django.contrib import admin
 from django.urls import path, include
+from django.views.static import serve
 from rest_framework import routers
 from rest_framework.documentation import include_docs_urls
 
@@ -9,11 +10,11 @@ router = routers.DefaultRouter()
 
 urlpatterns = router.urls
 
+# urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+
 urlpatterns += [
     path('', include('core.urls')),
     path('admin/', admin.site.urls),
     path('docs/', include_docs_urls(title='ECE651 Backend API Document', description='This API document includes all ednpoints that has been implemented.')),
 ]
-
-urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
-urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)