A modern web application built with Django REST Framework backend and Webix frontend for AI-powered user interactions and preferences management.
Jahan_AI/
βββ jahan_backend/ # Django REST API backend
β βββ venv/ # Python virtual environment
β βββ jahan_backend/ # Django project settings
β βββ preferences/ # Preferences management app
β βββ manage.py # Django management script
β βββ requirements.txt # Python dependencies
βββ jahan_frontend/ # Frontend application
β βββ client/ # Webix-based client application
β βββ components/ # Reusable UI components
β βββ pages/ # Application pages
β βββ js/ # JavaScript modules
β βββ css/ # Stylesheets
β βββ index.html # Main entry point
βββ start-servers.sh # Quick start script
βββ README.md # This file
cd /media/uma/sda4/Jahan_AI && chmod +x start-servers.sh && ./start-servers.sh# Install backend dependencies
cd /media/uma/sda4/Jahan_AI/jahan_backend && source venv/bin/activate && pip install -r requirements.txt
# Start Django backend server
cd /media/uma/sda4/Jahan_AI/jahan_backend && source venv/bin/activate && python manage.py runserver 0.0.0.0:8000# Option A: Using live-server (if installed)
npx live-server --port=3000
# Option B: Using Python HTTP server
cd /media/uma/sda4/Jahan_AI/jahan_frontend/client && python3 -m http.server 3000- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Admin Panel: http://localhost:8000/admin/
- API Documentation: http://localhost:8000/preferences/api/
- Django 5.2.1 - Web framework
- Django REST Framework - API development
- Django CORS Headers - Cross-origin resource sharing
- MySQL - Database (configurable)
- Python 3.x - Runtime
- Webix - UI framework for rich web applications
- JavaScript ES6+ - Modern JavaScript features
- CSS3 - Styling and responsive design
- HTML5 - Semantic markup
GET /preferences/api/notifications/- Get notification preferencesPOST /preferences/api/notifications/- Update notification preferencesGET /preferences/api/privacy/- Get privacy settingsPOST /preferences/api/privacy/- Update privacy settings
- Python 3.8+
- Node.js 14+ (for live-server option)
- Virtual environment activated
-
Clone or navigate to project:
cd /media/uma/sda4/Jahan_AI -
Backend setup:
cd jahan_backend source venv/bin/activate pip install -r requirements.txt python manage.py migrate python manage.py collectstatic
-
Create superuser (optional):
python manage.py createsuperuser
The application supports multiple database backends. Update jahan_backend/jahan_backend/settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # or sqlite3, postgresql
'NAME': 'your_database_name',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '3306',
}
}- Dashboard - Main application interface
- Preferences Manager - User settings and configurations
- Responsive Design - Mobile and desktop optimized
- API Integration - Real-time data synchronization
- DataTables for data display
- Forms for user input
- Charts for data visualization
- Layout components for responsive design
If you encounter client blocking errors:
- π‘οΈ Disable ad blocker for localhost
- π Try opening in private/incognito window
- π Use
http://127.0.0.1:3000instead oflocalhost:3000 - βοΈ Temporarily disable browser security extensions
# Check if virtual environment is activated
which python # Should point to venv/bin/python
# Verify dependencies
pip list
# Test server manually
python manage.py runserver --verbosity=2# Check if server is running
curl http://localhost:3000
# Try alternative server
python3 -m http.server 3000 --bind 127.0.0.1Ensure these settings in Django:
CORS_ALLOWED_ORIGINS = [
"http://localhost:3000",
"http://127.0.0.1:3000",
]jahan_backend/
βββ preferences/
β βββ models.py # Data models
β βββ serializers.py # API serializers
β βββ services.py # Business logic
β βββ views.py # API views
β βββ urls.py # URL routing
βββ jahan_backend/
β βββ settings.py # Django configuration
β βββ urls.py # Main URL configuration
β βββ wsgi.py # WSGI application
βββ manage.py # Django management commands
jahan_frontend/client/
βββ components/ # Reusable UI components
βββ pages/ # Application pages
βββ js/ # JavaScript modules
βββ css/ # Stylesheets
βββ assets/ # Static assets
βββ index.html # Application entry point
-
Start development servers:
./start-servers.sh
-
Make changes:
- Backend: Edit Python files, server auto-reloads
- Frontend: Edit HTML/CSS/JS files, refresh browser
-
Database changes:
python manage.py makemigrations python manage.py migrate
-
Stop servers: Press
Ctrl+Cin the terminal runningstart-servers.sh