Skip to content

Commit 8aa124b

Browse files
authored
Merge pull request #93 from isaurabhverma/main
fitness tracker
2 parents b318889 + 33a7a0a commit 8aa124b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+774
-0
lines changed

fitness-tracker/activities/__init__.py

Whitespace-only changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.contrib import admin
2+
from .models import DailyActivity
3+
4+
# Register your models here.
5+
6+
admin.site.register(DailyActivity)

fitness-tracker/activities/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class ActivitiesConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'activities'
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by Django 5.0.4 on 2024-05-10 10:03
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = [
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='DailyActivity',
16+
fields=[
17+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('date', models.DateField()),
19+
('time_spent', models.DurationField()),
20+
('sleep_hours', models.DecimalField(decimal_places=2, max_digits=4)),
21+
('steps_taken', models.IntegerField()),
22+
('created_at', models.DateTimeField(auto_now_add=True)),
23+
('updated_at', models.DateTimeField(auto_now=True)),
24+
],
25+
),
26+
]
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 5.0.4 on 2024-05-10 10:03
2+
3+
import django.db.models.deletion
4+
from django.conf import settings
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
initial = True
11+
12+
dependencies = [
13+
('activities', '0001_initial'),
14+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15+
]
16+
17+
operations = [
18+
migrations.AddField(
19+
model_name='dailyactivity',
20+
name='user',
21+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
22+
),
23+
]

fitness-tracker/activities/migrations/__init__.py

Whitespace-only changes.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from django.db import models
2+
from users.models import User
3+
4+
class DailyActivity(models.Model):
5+
user = models.ForeignKey(User, on_delete=models.CASCADE)
6+
date = models.DateField()
7+
time_spent = models.DurationField() # store time spent in a day
8+
sleep_hours = models.DecimalField(max_digits=4, decimal_places=2) # store sleep hours
9+
steps_taken = models.IntegerField() # store steps taken
10+
created_at = models.DateTimeField(auto_now_add=True)
11+
updated_at = models.DateTimeField(auto_now=True)
12+
13+
def __str__(self):
14+
return self.user
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from rest_framework import serializers
2+
from .models import DailyActivity
3+
4+
class DailyActivitySerializers(serializers.ModelSerializer):
5+
class Meta:
6+
model = DailyActivity
7+
fields = ('__all__')
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

fitness-tracker/activities/urls.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
from django.urls import path
3+
from .views import DailyActivityModelViewSet
4+
5+
urlpatterns = [
6+
path("activity/", DailyActivityModelViewSet.as_view({'get': 'list', 'post': 'create', 'put': 'update'}), name="user"),
7+
path("activity/<int:pk>/", DailyActivityModelViewSet.as_view({'get': 'retrieve', 'delete': 'destroy'}), name="user")
8+
]

0 commit comments

Comments
 (0)