diff --git a/backend/fintrack/db.sqlite3 b/backend/fintrack/db.sqlite3
index e69de29..68f13c6 100644
Binary files a/backend/fintrack/db.sqlite3 and b/backend/fintrack/db.sqlite3 differ
diff --git a/backend/fintrack/fintrack/__pycache__/__init__.cpython-310.pyc b/backend/fintrack/fintrack/__pycache__/__init__.cpython-310.pyc
index 5459e98..7bbaeb0 100644
Binary files a/backend/fintrack/fintrack/__pycache__/__init__.cpython-310.pyc and b/backend/fintrack/fintrack/__pycache__/__init__.cpython-310.pyc differ
diff --git a/backend/fintrack/fintrack/__pycache__/settings.cpython-310.pyc b/backend/fintrack/fintrack/__pycache__/settings.cpython-310.pyc
index 9a7f958..f34a92a 100644
Binary files a/backend/fintrack/fintrack/__pycache__/settings.cpython-310.pyc and b/backend/fintrack/fintrack/__pycache__/settings.cpython-310.pyc differ
diff --git a/backend/fintrack/fintrack/__pycache__/urls.cpython-310.pyc b/backend/fintrack/fintrack/__pycache__/urls.cpython-310.pyc
index 82128ac..46143ba 100644
Binary files a/backend/fintrack/fintrack/__pycache__/urls.cpython-310.pyc and b/backend/fintrack/fintrack/__pycache__/urls.cpython-310.pyc differ
diff --git a/backend/fintrack/fintrack/__pycache__/wsgi.cpython-310.pyc b/backend/fintrack/fintrack/__pycache__/wsgi.cpython-310.pyc
index a78ad3f..6dbcfe6 100644
Binary files a/backend/fintrack/fintrack/__pycache__/wsgi.cpython-310.pyc and b/backend/fintrack/fintrack/__pycache__/wsgi.cpython-310.pyc differ
diff --git a/backend/fintrack/fintrack/settings.py b/backend/fintrack/fintrack/settings.py
index 72bd21e..b0d30ae 100644
--- a/backend/fintrack/fintrack/settings.py
+++ b/backend/fintrack/fintrack/settings.py
@@ -37,6 +37,8 @@
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
+
+ 'user_budget',
]
MIDDLEWARE = [
diff --git a/backend/fintrack/fintrack/urls.py b/backend/fintrack/fintrack/urls.py
index 1a8bf22..06b3087 100644
--- a/backend/fintrack/fintrack/urls.py
+++ b/backend/fintrack/fintrack/urls.py
@@ -16,7 +16,10 @@
"""
from django.contrib import admin
from django.urls import path
+from django.urls import include
+from user_budget import views as expense_views
urlpatterns = [
path('admin/', admin.site.urls),
+ path('expenses/', expense_views.expenses_info),
]
diff --git a/backend/fintrack/user_budget/__init__.py b/backend/fintrack/user_budget/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/backend/fintrack/user_budget/__pycache__/__init__.cpython-310.pyc b/backend/fintrack/user_budget/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000..3be973a
Binary files /dev/null and b/backend/fintrack/user_budget/__pycache__/__init__.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/__pycache__/admin.cpython-310.pyc b/backend/fintrack/user_budget/__pycache__/admin.cpython-310.pyc
new file mode 100644
index 0000000..7b5bd42
Binary files /dev/null and b/backend/fintrack/user_budget/__pycache__/admin.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/__pycache__/apps.cpython-310.pyc b/backend/fintrack/user_budget/__pycache__/apps.cpython-310.pyc
new file mode 100644
index 0000000..0990992
Binary files /dev/null and b/backend/fintrack/user_budget/__pycache__/apps.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/__pycache__/models.cpython-310.pyc b/backend/fintrack/user_budget/__pycache__/models.cpython-310.pyc
new file mode 100644
index 0000000..6ae32bf
Binary files /dev/null and b/backend/fintrack/user_budget/__pycache__/models.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/__pycache__/views.cpython-310.pyc b/backend/fintrack/user_budget/__pycache__/views.cpython-310.pyc
new file mode 100644
index 0000000..617a6b5
Binary files /dev/null and b/backend/fintrack/user_budget/__pycache__/views.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/admin.py b/backend/fintrack/user_budget/admin.py
new file mode 100644
index 0000000..8c38f3f
--- /dev/null
+++ b/backend/fintrack/user_budget/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/backend/fintrack/user_budget/apps.py b/backend/fintrack/user_budget/apps.py
new file mode 100644
index 0000000..06ba8f8
--- /dev/null
+++ b/backend/fintrack/user_budget/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class UserBudgetConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'user_budget'
diff --git a/backend/fintrack/user_budget/expenses/expenses_info.html b/backend/fintrack/user_budget/expenses/expenses_info.html
new file mode 100644
index 0000000..9239c97
--- /dev/null
+++ b/backend/fintrack/user_budget/expenses/expenses_info.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ HTML 5 Boilerplate
+
+
+
+
+
+
diff --git a/backend/fintrack/user_budget/migrations/0001_initial.py b/backend/fintrack/user_budget/migrations/0001_initial.py
new file mode 100644
index 0000000..c8a451d
--- /dev/null
+++ b/backend/fintrack/user_budget/migrations/0001_initial.py
@@ -0,0 +1,37 @@
+# Generated by Django 5.0.6 on 2024-08-17 13:47
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Expenses',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('housing', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('transportation', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('food', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('entertainment', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('personal_care', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('debt_payment', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('savings', models.DecimalField(decimal_places=2, max_digits=10)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Expenditures',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('Date', models.DateField()),
+ ('Amount', models.DecimalField(decimal_places=2, max_digits=10)),
+ ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user_budget.expenses')),
+ ],
+ ),
+ ]
diff --git a/backend/fintrack/user_budget/migrations/__init__.py b/backend/fintrack/user_budget/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/backend/fintrack/user_budget/migrations/__pycache__/0001_initial.cpython-310.pyc b/backend/fintrack/user_budget/migrations/__pycache__/0001_initial.cpython-310.pyc
new file mode 100644
index 0000000..e47304a
Binary files /dev/null and b/backend/fintrack/user_budget/migrations/__pycache__/0001_initial.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/migrations/__pycache__/__init__.cpython-310.pyc b/backend/fintrack/user_budget/migrations/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000..821f8d5
Binary files /dev/null and b/backend/fintrack/user_budget/migrations/__pycache__/__init__.cpython-310.pyc differ
diff --git a/backend/fintrack/user_budget/models.py b/backend/fintrack/user_budget/models.py
new file mode 100644
index 0000000..7680bd0
--- /dev/null
+++ b/backend/fintrack/user_budget/models.py
@@ -0,0 +1,24 @@
+from django.db import models
+
+# Create your models here.
+from django.db import models
+
+class Expenses(models.Model):
+ housing = models.DecimalField(max_digits=10, decimal_places=2)
+ transportation = models.DecimalField(max_digits=10, decimal_places=2)
+ food = models.DecimalField(max_digits=10, decimal_places=2)
+ entertainment = models.DecimalField(max_digits=10, decimal_places=2)
+ personal_care = models.DecimalField(max_digits=10, decimal_places=2)
+ debt_payment = models.DecimalField(max_digits=10, decimal_places=2)
+ savings = models.DecimalField(max_digits=10, decimal_places=2)
+
+ def __str__(self):
+ return f"{self.housing} {self.transportation} {self.food} {self.entertainment} {self.personal_care} {self.debt_payment} {self.savings}"
+
+ def total(self):
+ return self.housing + self.transportation + self.food + self.entertainment + self.personal_care + self.debt_payment + self.savings
+
+class Expenditures(models.Model):
+ Date = models.DateField()
+ Amount = models.DecimalField(max_digits=10, decimal_places=2)
+ category = models.ForeignKey(Expenses, on_delete=models.CASCADE)
diff --git a/backend/fintrack/user_budget/templates/expenses/expenses_info.html b/backend/fintrack/user_budget/templates/expenses/expenses_info.html
new file mode 100644
index 0000000..ace7d5d
--- /dev/null
+++ b/backend/fintrack/user_budget/templates/expenses/expenses_info.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ HTML 5 Boilerplate
+
+
+
+
+ Expenses
+
+
diff --git a/backend/fintrack/user_budget/tests.py b/backend/fintrack/user_budget/tests.py
new file mode 100644
index 0000000..7ce503c
--- /dev/null
+++ b/backend/fintrack/user_budget/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/backend/fintrack/user_budget/views.py b/backend/fintrack/user_budget/views.py
new file mode 100644
index 0000000..de14279
--- /dev/null
+++ b/backend/fintrack/user_budget/views.py
@@ -0,0 +1,16 @@
+from django.shortcuts import render
+from .models import Expenses, Expenditures
+from django.http import HttpResponse
+
+
+
+# Create your views here
+def expenses_info(request):
+ expenses = Expenses.objects.all()
+ expenditures = Expenditures.objects.select_related('category').all()
+ context = {
+ 'expenses': expenses,
+ 'expenditures': expenditures,
+ }
+ return render(request, 'expenses/expenses_info.html', context)
+