চল শুরু করি Part 1: Project Initialization & Unfold Setup — এখানে আমরা নিচের কাজগুলো করবো:
🎯 Step Checklist
- Create Django project:
infinity_hub - Create apps:
accounts,core - Setup custom
Usermodel with sponsor - Install & configure
Unfold Admin - Register
Usermodel in Unfold
🛠 Step 1: Create Django Project & Apps
django-admin startproject infinity_hub .
django-admin startproject infinity_hub .
python manage.py startapp accounts
python manage.py startapp investment
python manage.py startapp referral
python manage.py startapp bonus
python manage.py startapp withdrawal
python manage.py startapp core
🛠 Step 2: Install Required Libraries
requirements.txt
pip install Django django-unfoldInstall them:
pip install -r requirements.txt
🛠 Step 3: Project Settings Update (settings.py)
Add to INSTALLED_APPS:
INSTALLED_APPS = [
'unfold',
'unfold.contrib.forms',
'unfold.contrib.filters',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Local apps
'accounts',
'investment',
'referral',
'bonus',
'withdrawal',
'core',
]
Add Custom User Model:
AUTH_USER_MODEL = 'accounts.User'
Add Unfold Config:
UNFOLD = {
"SITE_TITLE": "Infinity Trading Hub Admin",
"SITE_HEADER": "Infinity Admin",
"SHOW_HISTORY": True,
}
🛠 Step 4: Create Custom User Model (accounts/models.py)
from django.contrib.auth.models import User
from django.db import models
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
sponsor = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name='referrals')
is_entrepreneur = models.BooleanField(default=False)
def __str__(self):
return self.user.username
🧠 Step 2: Create Profile Automatically with Signal
accounts/signals.py
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User
from .models import Profile
@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
apps.py inside accounts
from django.apps import AppConfig
class AccountsConfig(AppConfig):
name = 'accounts'
def ready(self):
import accounts.signals
🛠 Step 5: Register User in Unfold Admin (accounts/admin.py)
from django.contrib import admin
from unfold.admin import ModelAdmin
from .models import Profile
@admin.register(Profile)
class ProfileAdmin(ModelAdmin):
list_display = ['user', 'sponsor', 'is_entrepreneur']
list_filter = ['is_entrepreneur']
search_fields = ['user__username', 'user__email']
🛠 Step 6: Migrate & Run Server
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Now go to: http://127.0.0.1:8000/admin
You’ll see the beautiful Unfold Admin with custom User model.
✅ Done with Part 1.
তুমি চাও কি আমি Part 2: Investment Logic শুরু করি?
এখানে থাকবে: InvestmentPackage, UserInvestment, ROITransaction মডেল, ROI জেনারেটর লজিক। বলো শুরু করবো?