Skip to content

Commit

Permalink
Merge pull request #535 from bounswe/feature/BE-faker
Browse files Browse the repository at this point in the history
feature/BE-faker
  • Loading branch information
oguzpancuk authored Dec 16, 2024
2 parents 2c795ee + 4b4b5be commit 3c9490f
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 1 deletion.
1 change: 1 addition & 0 deletions backend/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ services:
python3 manage.py collectstatic --noinput &&
python3 manage.py update_currencies &&
python3 manage.py update_stocks &&
python3 manage.py generate_posts &&
python3 manage.py update_indices &&
gunicorn backend.wsgi:application --bind 0.0.0.0:8000'
restart: always
Expand Down
81 changes: 81 additions & 0 deletions backend/marketfeed/management/commands/generate_posts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import random
from faker import Faker
from django.core.management.base import BaseCommand
from marketfeed.models import Post
from onboarding.models import User

class Command(BaseCommand):
help = 'Generate fake data for the Post model'

def add_arguments(self, parser):
parser.add_argument('total', type=int, help='Number of fake posts to generate')

def handle(self, *args, **kwargs):
fake = Faker()
total = kwargs['total']

economy_topics = [
f"Why is everyone talking about {fake.bs()}?"[:100],
f"Is {fake.bs()} really the future?"[:100],
f"{fake.company()} just did something amazing with {fake.bs()}!"[:100],
f"I can’t believe how {fake.bs()} is changing the game"[:100],
f"Anyone else seeing the hype around {fake.bs()}?"[:100],
f"{fake.bs()} and what it means for us all"[:100],
f"The cool ways {fake.company()} uses {fake.bs()}"[:100],
f"{fake.currency_name()} in {fake.bs()}—what’s happening?"[:100],
f"Big moves in {fake.bs()}—check this out!"[:100],
f"How {fake.bs()} is reshaping the world"[:100],
f"What’s your take on {fake.bs()} trends?"[:100],
f"Let’s talk about {fake.bs()} innovations"[:100],
f"I just read about {fake.bs()} and it’s wild"[:100],
f"{fake.bs()} in the news—here’s what I think"[:100],
f"Do you think {fake.bs()} is overhyped?"[:100],
f"{fake.bs()} updates—what’s happening now?"[:100],
f"How {fake.company()} is mastering {fake.bs()}"[:100],
f"{fake.bs()} is trending, but why?"[:100],
f"Let’s chat about {fake.bs()} strategies"[:100],
f"What’s so exciting about {fake.bs()}?"[:100]
]

economy_contents = [
f"I’ve been thinking a lot about {fake.bs()} lately. It feels like everywhere I look, someone is talking about how it’s changing the world! What are your thoughts?",
f"{fake.bs()} might sound boring to some, but it’s a topic I can’t stop researching. The way {fake.company()} is involved is fascinating!",
f"Anyone else worried about how {fake.currency_name()} is affecting {fake.bs()}? I think it’s time we started discussing this more seriously.",
f"I just read an article on {fake.bs()}, and it’s blowing my mind. How are companies like {fake.company()} staying ahead of this trend?",
f"Sometimes I wonder if {fake.bs()} is just a fad or if it’s truly the future of {fake.currency_name()} economics. What do you think?",
f"Every time I think I understand {fake.bs()}, something new comes up. It’s like this endless puzzle, especially when you consider what {fake.company()} is doing!",
f"Feeling inspired by a podcast I listened to about {fake.bs()} today. They mentioned {fake.company()} and how they’re leveraging it—so cool!",
f"If you’re not paying attention to {fake.bs()}, you’re missing out. I’ve been diving into how it’s reshaping industries, and it’s incredible.",
f"Spent my afternoon reading about {fake.bs()} and drinking coffee. It’s crazy how fast things are changing in this space!",
f"Is it just me, or does it seem like {fake.bs()} is becoming a bigger deal every day? Let’s talk about how this impacts our daily lives.",
f"Have you seen the latest about {fake.company()}? Their work in {fake.bs()} is super innovative! Makes me want to learn more.",
f"I’ve been dabbling in some research about {fake.bs()}, and I think I’m onto something exciting. Let’s connect if you’re interested!",
f"People keep saying {fake.bs()} is the key to the future. I wonder if we’re all ready for what’s coming next.",
f"Big shoutout to {fake.company()} for leading the way in {fake.bs()}. It’s companies like this that make me hopeful for what’s ahead.",
f"The intersection of {fake.bs()} and everyday life is more significant than we think. It’s something I’ve been reflecting on lately.",
f"Had an enlightening conversation with a friend about {fake.bs()} and how it’s changing the game for companies like {fake.company()}.",
f"Woke up with {fake.bs()} on my mind (yes, I’m that person now). The future is looking so dynamic and exciting!",
f"There’s something about {fake.bs()} that feels so revolutionary. Anyone else digging into how it affects {fake.currency_name()}?",
f"What role do you think {fake.company()} plays in the whole {fake.bs()} evolution? Let’s debate in the comments!"
]

users = list(User.objects.all())
if not users:
self.stdout.write(self.style.ERROR('No users found in the database. Please create some users first.'))
return

for _ in range(total):
title = random.choice(economy_topics)
content = random.choice(economy_contents)
author = random.choice(users)

post = Post(
title=title,
content=content,
author=author,
created_at=fake.date_time_this_year(),
updated_at=fake.date_time_this_year(),
)
post.save()

self.stdout.write(self.style.SUCCESS(f'Successfully created {total} fake posts.'))
18 changes: 18 additions & 0 deletions backend/marketfeed/migrations/0010_alter_post_title.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 4.2 on 2024-12-16 15:55

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('marketfeed', '0009_post_stocks'),
]

operations = [
migrations.AlterField(
model_name='post',
name='title',
field=models.CharField(max_length=100),
),
]
2 changes: 1 addition & 1 deletion backend/marketfeed/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class Portfolio(models.Model):


class Post(models.Model):
title = models.CharField(max_length=50)
title = models.CharField(max_length=100)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
Expand Down
2 changes: 2 additions & 0 deletions backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ feedparser
yfinance
requests
beautifulsoup4
Faker==18.11.1

0 comments on commit 3c9490f

Please sign in to comment.