Skip to content

Commit

Permalink
Feature(Article Statistics): Users should be able to see their readin…
Browse files Browse the repository at this point in the history
…g stats

- Article view and comments counts

[Feature #161255378]
  • Loading branch information
AnguleMathias committed Jan 3, 2019
1 parent 5f3d3bf commit d381f12
Show file tree
Hide file tree
Showing 21 changed files with 254 additions and 334 deletions.
34 changes: 13 additions & 21 deletions authors/apps/articles/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Generated by Django 2.1.2 on 2018-11-16 10:45
# Generated by Django 2.1.2 on 2019-01-03 13:02

from django.conf import settings
import django.contrib.postgres.fields
from django.db import migrations, models
import django.db.models.deletion
Expand All @@ -11,7 +10,6 @@ class Migration(migrations.Migration):
initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
Expand All @@ -23,15 +21,11 @@ class Migration(migrations.Migration):
('body', models.TextField()),
('images', django.contrib.postgres.fields.ArrayField(base_field=models.TextField(), blank=True, default=None, null=True, size=None)),
('description', models.CharField(max_length=255)),
('slug', models.SlugField(max_length=40, unique=True)),
('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=30), blank=True, default=None, null=True, size=None)),
('slug', models.SlugField(max_length=1000, unique=True)),
('time_to_read', models.IntegerField()),
('time_created', models.DateTimeField(auto_now_add=True, db_index=True)),
('time_updated', models.DateTimeField(auto_now=True, db_index=True)),
('average_rating', models.IntegerField(default=0)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='articles', to=settings.AUTH_USER_MODEL)),
('dislikes', models.ManyToManyField(blank=True, related_name='_article_dislikes_+', to=settings.AUTH_USER_MODEL)),
('likes', models.ManyToManyField(blank=True, related_name='_article_likes_+', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ('time_created', 'time_updated'),
Expand All @@ -44,10 +38,6 @@ class Migration(migrations.Migration):
('body', models.TextField()),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('article', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='articles.Article')),
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='comments', to=settings.AUTH_USER_MODEL)),
('likes', models.ManyToManyField(blank=True, related_name='comment_likes', to=settings.AUTH_USER_MODEL)),
('parent', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='thread', to='articles.Comment')),
],
),
migrations.CreateModel(
Expand All @@ -56,7 +46,6 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('comment', models.TextField()),
('date_created', models.DateTimeField(auto_now=True)),
('parent_comment', models.ForeignKey(db_column='parent_comment', on_delete=django.db.models.deletion.CASCADE, to='articles.Comment')),
],
),
migrations.CreateModel(
Expand All @@ -69,8 +58,6 @@ class Migration(migrations.Migration):
('comment', models.CharField(blank=True, max_length=200)),
('time_created', models.DateTimeField(auto_now_add=True, db_index=True)),
('time_updated', models.DateTimeField(auto_now=True, db_index=True)),
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='highlights', to='articles.Article')),
('highlighter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='highlights', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ('time_updated',),
Expand All @@ -81,8 +68,6 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('likes', models.BooleanField()),
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='like', to='articles.Article')),
('reader', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='like', to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
Expand All @@ -93,11 +78,18 @@ class Migration(migrations.Migration):
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='articles.Article')),
('reporter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.AlterUniqueTogether(
name='likesdislikes',
unique_together={('article', 'reader')},
migrations.CreateModel(
name='Tag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('modified_at', models.DateTimeField(auto_now=True)),
('tag', models.CharField(max_length=255, unique=True)),
],
options={
'abstract': False,
},
),
]
31 changes: 0 additions & 31 deletions authors/apps/articles/migrations/0002_auto_20181121_0415.py

This file was deleted.

92 changes: 92 additions & 0 deletions authors/apps/articles/migrations/0002_auto_20190103_1302.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Generated by Django 2.1.2 on 2019-01-03 13:02

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('articles', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='report',
name='reporter',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='likesdislikes',
name='article',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='like', to='articles.Article'),
),
migrations.AddField(
model_name='likesdislikes',
name='reader',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='like', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='highlight',
name='article',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='highlights', to='articles.Article'),
),
migrations.AddField(
model_name='highlight',
name='highlighter',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='highlights', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='commenthistory',
name='parent_comment',
field=models.ForeignKey(db_column='parent_comment', on_delete=django.db.models.deletion.CASCADE, to='articles.Comment'),
),
migrations.AddField(
model_name='comment',
name='article',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='articles.Article'),
),
migrations.AddField(
model_name='comment',
name='author',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='comments', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='comment',
name='likes',
field=models.ManyToManyField(blank=True, related_name='comment_likes', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='comment',
name='parent',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='thread', to='articles.Comment'),
),
migrations.AddField(
model_name='article',
name='author',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='articles', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='article',
name='dislikes',
field=models.ManyToManyField(blank=True, related_name='_article_dislikes_+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='article',
name='likes',
field=models.ManyToManyField(blank=True, related_name='_article_likes_+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='article',
name='tags',
field=models.ManyToManyField(related_name='articles', to='articles.Tag'),
),
migrations.AlterUniqueTogether(
name='likesdislikes',
unique_together={('article', 'reader')},
),
]
24 changes: 24 additions & 0 deletions authors/apps/articles/migrations/0003_articlestatistics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Generated by Django 2.1.2 on 2019-01-03 13:16

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('articles', '0002_auto_20190103_1302'),
]

operations = [
migrations.CreateModel(
name='ArticleStatistics',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='article_views', to='articles.Article')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='article_views', to=settings.AUTH_USER_MODEL)),
],
),
]
18 changes: 0 additions & 18 deletions authors/apps/articles/migrations/0003_auto_20181121_0657.py

This file was deleted.

18 changes: 0 additions & 18 deletions authors/apps/articles/migrations/0004_auto_20181121_0702.py

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 2.1.2 on 2019-01-03 13:27

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('articles', '0003_articlestatistics'),
]

operations = [
migrations.RemoveField(
model_name='articlestatistics',
name='user',
),
]
20 changes: 0 additions & 20 deletions authors/apps/articles/migrations/0005_auto_20181121_0935.py

This file was deleted.

31 changes: 0 additions & 31 deletions authors/apps/articles/migrations/0006_auto_20181121_1021.py

This file was deleted.

22 changes: 0 additions & 22 deletions authors/apps/articles/migrations/0007_auto_20181121_1044.py

This file was deleted.

Loading

0 comments on commit d381f12

Please sign in to comment.