New Peoples Media Center (Kilimani), Elgeyo Marakwet & Kilimani Rd Junction (Off Ngong Rd)
Info@novustelltravel.com
+254721115572 +254701363551

Novustell Travel System Guide

Complete guide to using and managing the Novustell Travel website - from customer bookings to admin management, explained in simple terms.

98
Destinations
30
Travel Packages
22
Published Posts

What is Novustell Travel?

Novustell Travel is a complete online travel booking website that helps customers discover and book amazing travel experiences across East Africa. The website handles everything from browsing destinations to completing bookings automatically.

Current Content
  • 98 Travel Destinations
  • 30 Travel Packages
  • 34 Hotels & Lodges
  • 22 Travel Articles
  • 41 Registered Customers
Main Features
  • Easy online booking for guests and registered users
  • Beautiful destination galleries and information
  • Specialized services for businesses, students, and NGOs
  • Travel blog with tips and destination guides
  • Promotional popup system for marketing campaigns
  • Complete admin dashboard for managing everything

How Customers Use the Website

Simple Overview: This explains how customers find, book, and manage their travel experiences on the Novustell Travel website, from first visit to completed booking.

1. New Customer Experience

How They Find Us
  • ๐Ÿ  Visit homepage and see promotional popup
  • ๐Ÿ” Google search for Kenya travel packages
  • ๐Ÿ“ฑ Social media posts and recommendations
  • ๐Ÿ“ง Email newsletters and promotions
  • ๐Ÿ‘ฅ Word of mouth from previous customers
What They Do First
  • ๐Ÿ“ Browse beautiful destination photos
  • ๐Ÿ“ฆ Look at travel packages and prices
  • ๐Ÿ’ฐ Compare what's included in each package
  • ๐Ÿ“– Read travel tips and destination guides
  • ๐Ÿ“ž Access contact information
Booking Decision Process
Guest sees package โ†’ Reviews details โ†’ Checks availability โ†’ Decides to book โ†“ Clicks "Book Now" โ†’ Redirected to booking form โ†’ No login required โ†“ Enters travel details โ†’ Selects accommodations โ†’ Chooses travel modes โ†“ Provides personal information โ†’ Reviews booking summary โ†’ Confirms booking โ†“ Automatic account creation โ†’ Welcome email sent โ†’ Booking confirmation

2. Registered User Journey

Login Process
  • ๐Ÿ” Email/Username + Password authentication
  • ๐Ÿ”„ Password reset via email if needed
  • โœ… Session creation and dashboard access
  • ๐Ÿ’พ Form data pre-population from profile
Enhanced Features
  • ๐Ÿ“Š Personal dashboard with booking history
  • โค๏ธ Bucket list for saving favorite packages
  • โšก Faster checkout with saved information
  • ๐Ÿ“ง Personalized email notifications

3. Admin User Journey

Content Management Workflow
Admin Login โ†’ Django Admin Dashboard โ†’ Content Management โ†“ Destinations: Create/Edit/Delete destinations with galleries โ†“ Packages: Manage travel packages, pricing, and availability โ†“ Accommodations: Add hotels, lodges, and accommodation options โ†“ Bookings: Review, confirm, and manage customer bookings โ†“ Users: Manage user accounts and profiles โ†“ Blog: Create and publish travel content

Visual Flow Chart

Interactive Flow Chart: Comprehensive visualization of all user paths, decision points, conditional flows, and error states.

Complete Application Flow

Detailed Booking Process Flow

Admin Management Workflow

Project Architecture

Django Project Structure

tours_travels
Main Project
adminside
Travel Management
blog
Content Management
users
User Management
Architecture Layers
Frontend Layer (Templates + Static Files) โ”œโ”€โ”€ Bootstrap 5 + Custom CSS โ”œโ”€โ”€ FontAwesome Icons โ”œโ”€โ”€ Custom Fonarto Fonts โ””โ”€โ”€ Responsive Design Backend Layer (Django) โ”œโ”€โ”€ Models (Database Layer) โ”œโ”€โ”€ Views (Business Logic) โ”œโ”€โ”€ URLs (Routing) โ””โ”€โ”€ Admin Interface Database Layer โ”œโ”€โ”€ PostgreSQL (Neon Cloud) โ”œโ”€โ”€ User Authentication โ”œโ”€โ”€ Content Management โ””โ”€โ”€ Booking System External Services โ”œโ”€โ”€ Uploadcare (Media Management) โ”œโ”€โ”€ Email Services โ””โ”€โ”€ Payment Integration (Future)

Guest Booking Process

Key Innovation: Our guest booking system allows users to complete bookings without registration, with automatic account creation upon confirmation.

Step-by-Step Booking Journey

Step 1: Package Discovery
  • โœ“ Browse packages by destination
  • โœ“ Filter by price, duration, activities
  • โœ“ View detailed package information
  • โœ“ Check availability calendar
  • โœ“ Read reviews and testimonials

Form Validation: No validation required at this stage

Step 2: Add to Cart
  • โœ“ Select number of adults (required)
  • โœ“ Select number of children (optional)
  • โœ“ Choose number of rooms (required)
  • โœ“ Package added to session cart

Validation Rules:

  • Adults: minimum 1, maximum 20
  • Children: minimum 0, maximum 15
  • Rooms: minimum 1, maximum 10
Step 3: Customization
  • โœ“ Select accommodations (optional)
  • โœ“ Choose travel modes (optional)
  • โœ“ Add custom accommodation requests
  • โœ“ Enable self-drive option
  • โœ“ Real-time price calculation

Error Handling: Invalid selections show inline errors

Step 4: Guest Details
  • โœ“ Full name (required)
  • โœ“ Email address (required)
  • โœ“ Phone number (required)
  • โœ“ Travel date (required)
  • โœ“ Special requests (optional)
  • โœ“ Terms acceptance (required)
  • โœ“ Marketing consent (optional)

Validation: Real-time validation with error messages

Step 5: Review Summary
  • โœ“ Package details review
  • โœ“ Selected accommodations
  • โœ“ Travel arrangements
  • โœ“ Guest information
  • โœ“ Total price breakdown
  • โœ“ Terms and conditions

Actions: Edit any section or confirm booking

Step 6: Confirmation
  • โœ“ Booking record created
  • โœ“ Unique booking reference generated
  • โœ“ User account automatically created
  • โœ“ Welcome email sent
  • โœ“ Booking confirmation email sent
  • โœ“ Admin notification sent

Result: Guest becomes registered user

Comprehensive Form Validation Rules

Field Type Required Validation Rules Error Messages
Full Name Text Yes 2-100 characters, letters and spaces only "Please enter your full name"
Email Email Yes Valid email format, max 254 characters "Please enter a valid email address"
Phone Number Text Yes International format (+country code) "Please enter a valid phone number"
Travel Date Date Yes Future date, within 2 years "Please select a valid travel date"
Adults Count Number Yes 1-20 adults "Please select number of adults (1-20)"
Children Count Number No 0-15 children "Maximum 15 children allowed"
Rooms Count Number Yes 1-10 rooms "Please select number of rooms (1-10)"
Terms Acceptance Checkbox Yes Must be checked "Please accept terms and conditions"

Guest-to-User Conversion Process

Seamless Conversion: Our system automatically creates user accounts for guests upon booking confirmation, providing immediate access to user features.

Automatic Account Creation Process

Guest completes booking โ†’ System checks if email exists โ†“ If email exists: Link booking to existing user โ†“ If new email: Create new user account โ†“ Generate secure password (12 characters: letters + numbers + symbols) โ†“ Create UserProfile with booking information โ†“ Send welcome email with login credentials โ†“ Send booking confirmation with dashboard access โ†“ User can immediately access dashboard and features

Account Creation Implementation

User Account Setup
  • ๐Ÿ‘ค Username: Generated from email
  • ๐Ÿ“ง Email: From booking form
  • ๐Ÿ” Password: Secure 12-character generation
  • ๐Ÿ‘ฅ First/Last Name: Parsed from full name
  • โœ… Active status: Immediately activated
UserProfile Creation
  • ๐Ÿ“ฑ Phone: From booking form
  • ๐Ÿ“ง Email notifications: Enabled by default
  • ๐Ÿ“ฌ Marketing emails: Based on consent
  • ๐Ÿ”— Booking linkage: Automatic association
  • ๐Ÿ“Š Profile completion: Partial (can be updated)

Password Security Features

Generation
  • โœ“ 12 characters minimum
  • โœ“ Mixed case letters
  • โœ“ Numbers included
  • โœ“ Special characters
  • โœ“ Cryptographically secure
Storage
  • โœ“ Django PBKDF2 hashing
  • โœ“ Salt-based protection
  • โœ“ Non-reversible encryption
  • โœ“ Industry standard security
  • โœ“ Regular security updates
Management
  • โœ“ Non-expiring passwords
  • โœ“ User-controlled changes
  • โœ“ Password reset via email
  • โœ“ Strength validation
  • โœ“ Change history tracking

Email Notification System

Welcome Email Content
  • ๐ŸŽ‰ Welcome message with branding
  • ๐Ÿ” Login credentials (email + password)
  • ๐Ÿ”— Direct dashboard access link
  • ๐Ÿ›ก๏ธ Security information and tips
  • ๐Ÿ“‹ Account features overview
  • ๐ŸŒ Travel inspiration content
  • ๐Ÿ“ž Support contact information
Booking Confirmation Email
  • ๐Ÿ“‹ Complete booking details
  • ๐Ÿ”ข Booking reference number
  • ๐Ÿ’ฐ Payment breakdown
  • ๐Ÿ“… Travel dates and itinerary
  • ๐Ÿจ Accommodation details
  • ๐Ÿš— Travel arrangements
  • ๐Ÿ“ฑ WhatsApp contact link
  • ๐Ÿ”— Dashboard access for management

Cart & Form Persistence System

Data Protection: Our advanced persistence system ensures no data loss during navigation, page refreshes, or browser sessions while maintaining security.

Shopping Cart System

Cart Operations
  • Add packages to cart
  • Update quantities (adults, children, rooms)
  • Add accommodations and travel modes
  • Remove items from cart
  • Clear entire cart
  • Real-time price calculation
Session Management
  • Session-based storage
  • 24-hour session timeout
  • Cross-page persistence
  • Mobile device compatibility
  • Secure data handling
  • Automatic cleanup after booking

Form Data Persistence Implementation

FormDataManager Class: โ†“ save_form_data(step, data, merge=True) โ†’ Stores form data in session with timestamp โ†’ Merges with existing data or replaces completely โ†’ Validates data integrity and format โ†“ get_form_data(step=None) โ†’ Retrieves stored form data for specific step โ†’ Returns all data if no step specified โ†’ Handles missing or corrupted data gracefully โ†“ clear_form_data(step=None) โ†’ Clears specific step data or all data โ†’ Called after successful booking completion โ†’ Maintains session security and cleanup

Advanced Persistence Features

Step Navigation
  • โœ“ Forward/backward navigation
  • โœ“ Data preserved between steps
  • โœ“ Validation state maintained
  • โœ“ Progress tracking
  • โœ“ Step completion validation
Page Refresh
  • โœ“ Data survives page refresh
  • โœ“ Form fields auto-populated
  • โœ“ Cart contents maintained
  • โœ“ User selections preserved
  • โœ“ Progress indicators updated
Browser Session
  • โœ“ Multiple tab support
  • โœ“ Browser close/reopen
  • โœ“ Session timeout handling
  • โœ“ Secure data storage
  • โœ“ Automatic cleanup

Session Data Structure

Cart Data Format
session['cart'] = { 'items': [ { 'package_id': 1, 'package': Package object, 'adults': 2, 'children': 1, 'rooms': 1, 'accommodations': [Accommodation objects], 'travel_modes': [TravelMode objects], 'custom_accommodation': 'Special requests', 'self_drive': False, 'added_at': timestamp } ], 'total_items': 1, 'total_price': 2500.00 }
Form Data Format
session['booking_form_data'] = { 'package_selection': { 'package_id': 1, 'adults': 2, 'children': 1, 'rooms': 1, '_timestamp': '2025-07-25T10:30:00' }, 'customization': { 'accommodations': [1, 2], 'travel_modes': [1], 'self_drive': False, '_timestamp': '2025-07-25T10:35:00' }, 'details': { 'full_name': 'John Doe', 'email': 'john@example.com', 'phone_number': '+254701363551', 'travel_date': '2025-08-15', 'special_requests': 'Vegetarian meals', 'terms_accepted': True, 'marketing_consent': False, '_timestamp': '2025-07-25T10:40:00' } }

Error Handling & Recovery

Error Scenario Detection Method Recovery Action User Experience
Session Timeout Session expiry check Redirect to package selection Friendly message with restart option
Corrupted Data Data validation on load Clear corrupted data, restart step Error message with guidance
Missing Package Package existence check Clear cart, redirect to packages Package unavailable notification
Invalid Quantities Form validation Reset to minimum valid values Inline validation messages
Network Issues AJAX error handling Retry mechanism with backoff Loading indicators and retry buttons

Security Vulnerability Assessment

Security Review: Comprehensive assessment of authentication, authorization, data validation, session management, and potential vulnerabilities.

Security Implementation Overview

A+
Authentication
A
Authorization
A+
Data Validation
A
Session Security

Authentication & Authorization Mechanisms

Authentication
โœ… Implemented Security Measures
  • ๐Ÿ” Django's built-in authentication system
  • ๐Ÿ”’ PBKDF2 password hashing with salt
  • ๐Ÿ”‘ Secure password generation (12+ characters)
  • ๐Ÿ“ง Email-based password reset
  • โฐ Session timeout management
  • ๐Ÿšซ Account lockout after failed attempts
โš ๏ธ Potential Improvements
  • ๐Ÿ” Two-factor authentication (2FA)
  • ๐Ÿ“ฑ SMS verification for phone numbers
  • ๐Ÿ” Login attempt monitoring
  • ๐ŸŒ IP-based access controls
Authorization
โœ… Access Control Measures
  • ๐Ÿ‘ค User-specific data isolation
  • ๐Ÿ›ก๏ธ Django's permission system
  • ๐Ÿ”’ Admin-only access to sensitive areas
  • ๐Ÿ“‹ Role-based access control
  • ๐Ÿšช Login required decorators
  • ๐Ÿ” Object-level permissions
โš ๏ธ Potential Enhancements
  • ๐ŸŽญ More granular role definitions
  • ๐Ÿ“Š Audit logging for admin actions
  • โฑ๏ธ Time-based access restrictions
  • ๐ŸŒ API rate limiting

Data Validation & Sanitization

Input Validation
โœ… Implemented
  • โœ“ Django form validation
  • โœ“ Field-level validation rules
  • โœ“ Custom validators
  • โœ“ Client-side validation
  • โœ“ Server-side verification
โš ๏ธ Improvements
  • โ€ข File upload validation
  • โ€ข Input length limits
  • โ€ข Regex pattern validation
XSS Protection
โœ… Implemented
  • โœ“ Django template auto-escaping
  • โœ“ Safe template filters
  • โœ“ Content Security Policy
  • โœ“ HTML sanitization
  • โœ“ Email content escaping
โš ๏ธ Improvements
  • โ€ข Stricter CSP policies
  • โ€ข Input sanitization library
  • โ€ข Rich text editor security
SQL Injection
โœ… Protected
  • โœ“ Django ORM usage
  • โœ“ Parameterized queries
  • โœ“ No raw SQL execution
  • โœ“ Query sanitization
  • โœ“ Database permissions
โœ… Excellent
  • โ€ข Django ORM provides protection
  • โ€ข No identified vulnerabilities

Session Management & CSRF Protection

Session Security
Security Feature Status Implementation
Secure Cookies โœ… Enabled HTTPS-only transmission
HttpOnly Cookies โœ… Enabled JavaScript access blocked
Session Timeout โœ… Configured 24-hour expiration
Session Regeneration โš ๏ธ Partial On login only
Session Fixation โœ… Protected Django built-in protection
CSRF Protection
Protection Method Status Coverage
CSRF Middleware โœ… Active All POST requests
CSRF Tokens โœ… Required All forms
AJAX Protection โœ… Implemented X-CSRFToken header
SameSite Cookies โœ… Configured Lax policy
Referer Checking โœ… Enabled Django default

Email Security & User Data Protection

Email Security Measures
โœ… Implemented Security
  • ๐Ÿ” SMTP over TLS encryption
  • ๐Ÿ”‘ App-specific password authentication
  • ๐Ÿ›ก๏ธ Email content sanitization
  • ๐Ÿ“ง Template-based email generation
  • ๐Ÿšซ No sensitive data in email content
  • ๐Ÿ“ Email delivery logging
โš ๏ธ Potential Improvements
  • ๐Ÿ“ง Email encryption (PGP/S-MIME)
  • ๐Ÿ” Email delivery verification
  • ๐Ÿšจ Bounce handling
  • ๐Ÿ“Š Email security monitoring
User Data Protection
โœ… Privacy Measures
  • ๐Ÿ”’ Data encryption at rest
  • ๐ŸŒ HTTPS for data in transit
  • ๐Ÿ‘ค User data isolation
  • ๐Ÿ—‘๏ธ Data retention policies
  • ๐Ÿ“‹ Privacy policy compliance
  • ๐Ÿ” Password hashing (non-reversible)
โ„น๏ธ GDPR Compliance
  • ๐Ÿ“ Data processing consent
  • ๐Ÿ” Data access rights
  • ๐Ÿ—‘๏ธ Right to deletion
  • ๐Ÿ“Š Data portability

Identified Vulnerabilities & Mitigation

Vulnerability Risk Level Current Status Mitigation Strategy Priority
Missing 2FA Medium Not implemented Implement TOTP-based 2FA Medium
Session regeneration Medium Partial implementation Regenerate on privilege changes Medium
Rate limiting Medium Basic implementation Implement comprehensive rate limiting Medium
File upload security Low Uploadcare handles security Additional validation layers Low
Admin interface exposure Low Protected by authentication Consider IP whitelisting Low

Security Improvement Recommendations

๐Ÿ”ด High Priority
  • ๐Ÿ” Implement comprehensive rate limiting
  • ๐Ÿ“Š Add security monitoring and alerting
  • ๐Ÿ” Implement audit logging
  • ๐Ÿ›ก๏ธ Add Web Application Firewall (WAF)
๐ŸŸก Medium Priority
  • ๐Ÿ” Add two-factor authentication
  • ๐Ÿ“ง Implement email verification
  • ๐Ÿ”„ Enhanced session management
  • ๐ŸŒ IP-based access controls
๐ŸŸข Low Priority
  • ๐Ÿ“ง Email encryption (PGP)
  • ๐Ÿ” Advanced threat detection
  • ๐Ÿ“ฑ Mobile app security
  • ๐Ÿ” Hardware security keys

System Components

Overview: The Novustell Travel website is built using several specialized components that work together to provide a complete travel booking experience.

Travel Content Management

What it does: Manages all travel-related content including destinations, packages, and accommodations.

What it manages:
  • Destinations: Countries, cities, and specific places
  • Travel Packages: Complete travel experiences with pricing
  • Hotels & Lodges: Accommodation options for each destination
  • Transportation: Flights, buses, cars, and other travel modes
  • Bookings: Customer reservations and payments
Key capabilities:
  • Easy content creation with rich text editor
  • Professional image uploads and management
  • Search engine optimization for better Google ranking
  • Advanced filtering to help customers find what they want
  • Complete booking management from inquiry to confirmation

Travel Blog System

What it does: Manages travel articles, destination guides, and customer engagement through comments.

Content types:
  • Travel Articles: Destination guides and travel tips
  • Categories: Organize content by topics
  • Customer Comments: Engagement and feedback system
Key capabilities:
  • Professional article creation with rich formatting
  • Tag system for easy content discovery
  • Comment moderation to maintain quality
  • Publishing workflow (draft โ†’ review โ†’ published)
  • SEO-optimized URLs for better search ranking

Customer Management System

What it does: Handles customer accounts, bookings, inquiries, and all customer-facing features.

Customer features:
  • Guest Bookings: Book without creating an account
  • User Accounts: Register and manage personal profiles
  • Business Inquiries: MICE (corporate events) requests
  • Student Travel: Educational group travel inquiries
  • NGO Services: Non-profit organization travel
  • Job Applications: Career opportunities
  • Newsletter: Travel tips and offers subscription
  • Promotional Popups: Marketing campaigns and special offers
Key capabilities:
  • Secure customer registration and login
  • Email verification for account security
  • Complete booking management from inquiry to confirmation
  • Specialized inquiry forms for different customer types
  • Automated email notifications and confirmations
  • Customer dashboard for managing bookings and profile
  • Marketing popup system with analytics tracking

Email Marketing System

What it does: Manages email campaigns, newsletters, and automated customer communications.

Email features:
  • Email Templates: Professional branded email designs
  • Campaigns: Targeted marketing campaigns
  • Recipients: Customer email list management
  • Tracking: Email delivery and engagement analytics
Automated emails:
  • Booking confirmations and receipts
  • Welcome emails for new customers
  • Newsletter subscription confirmations
  • Job application acknowledgments
  • Contact form inquiry notifications

System Monitoring

What it does: Monitors website health, performance, and tracks system status.

Monitoring features:
  • Website uptime monitoring
  • Performance tracking
  • Error logging and alerts
  • Database health checks
Benefits:
  • Early detection of website issues
  • Performance optimization insights
  • Proactive maintenance alerts
  • Customer experience protection

User Journey Flowchart

Complete user flow diagram showing guest, registered user, and admin journeys

Guest User Journey
  • Browse destinations and packages
  • Read travel blog content
  • Submit specialized inquiries (MICE, Student, NGO)
  • Register for booking access
  • Contact through various forms
Registered User Journey
  • Login with email verification
  • Access enhanced booking features
  • Complete package bookings
  • Receive email confirmations
  • Manage booking preferences
Admin User Journey
  • Manage destinations and packages
  • Create and publish blog content
  • Process bookings and inquiries
  • Monitor system statistics
  • Configure site settings

Key Decision Points

Authentication Gates

Users must register and login to access booking functionality, ensuring secure transactions and personalized experiences.

Service Selection

Different inquiry forms route users to appropriate specialized services (MICE, Student, NGO travel).

Marketing & Promotional Features

New Feature: The promotional popup system helps you showcase special offers and drive customer engagement right on the homepage.

Promotional Popup System

What It Does
  • Shows special offers when customers first visit the homepage
  • Displays beautiful promotional images with your campaigns
  • Includes call-to-action buttons that lead to contact forms
  • Tracks how many people see and click on your promotions
  • Remembers customers who don't want to see it again today
How to Manage It
  • Go to Admin โ†’ Promotional Popups to create campaigns
  • Upload promotional images using the image uploader
  • Write campaign titles and button text
  • Set which campaigns are active or inactive
  • View analytics showing views, clicks, and success rates
Best Practice: Use eye-catching images and clear, action-oriented button text like "Get This Deal" or "Book Now" to maximize customer engagement.

Email Marketing System

Automated Emails
  • Booking confirmation emails sent automatically
  • Welcome emails for new customer accounts
  • Newsletter subscription confirmations
  • Job application notifications
  • Contact form inquiry notifications
Newsletter Management
  • Collect email subscriptions from website visitors
  • Manage subscriber preferences (tips, offers, updates)
  • Track subscription confirmations and activity
  • Easy unsubscribe system for customers
  • Admin dashboard for subscriber management

Social Media & Sharing

Built-in Features
  • WhatsApp chat widget for instant customer support
  • Social sharing buttons on blog posts
  • SEO-optimized content for social media sharing
  • Contact forms that capture social media referrals
Analytics & Tracking
  • Google Analytics 4 integration for detailed insights
  • Popup click tracking for campaign performance
  • Email open and click tracking
  • Website visitor behavior analysis

Administrator Guide

Admin Access: Log in to the admin dashboard at /admin/ using your administrator username and password to manage all website content.

Managing Website Content

Travel Destinations
  • Add new countries, cities, and specific places
  • Upload beautiful destination photos
  • Write detailed descriptions with formatting
  • Set which destinations appear on the homepage
  • Control which destinations are visible to customers
Travel Packages
  • Create new travel packages with all details
  • Set prices for adults and children
  • Add day-by-day itineraries
  • Choose available hotels and transportation
  • Publish or hide packages from customers
Blog Management
  • Create and edit blog posts with rich text
  • Organize content with categories and tags
  • Manage publishing workflow (draft โ†’ review โ†’ published)
  • Moderate user comments
  • Track post views and engagement
User Management
  • View and manage user accounts
  • Process booking requests
  • Handle specialized inquiries
  • Send email notifications
  • Monitor user activity

Rich Text Editor (CKEditor)

The admin interface uses CKEditor for rich text content creation across destinations, packages, and blog posts.

Configuration: Simplified 'full' toolbar Features: Text formatting, links, images, tables, source editing Height: 300px consistent across all fields Compatibility: django-ckeditor 6.7.3 + django-js-asset 3.1.2
Recent Update: CKEditor configuration has been simplified for better compatibility and easier maintenance.

Technology Stack

Backend
  • Django 5.0.14
  • Python 3.12
  • PostgreSQL (Neon)
  • Django REST Framework
Frontend
  • Bootstrap 5
  • Custom CSS/SCSS
  • FontAwesome Icons
  • Fonarto Custom Fonts
Content Management
  • django-ckeditor 6.7.3
  • django-js-asset 3.1.2
  • Django Unfold Admin
  • Rich Text Editing
External Services
  • Uploadcare (Media)
  • Email Services
  • Neon PostgreSQL
  • Static File Hosting
Additional Packages
  • django-taggit
  • shortuuid
  • pyuploadcare
  • django-crispy-forms
Design Features
  • Responsive Design
  • Mobile-First Approach
  • Glass Morphism Effects
  • Modern UI/UX

Key Features

Travel Management
  • Hierarchical destination structure
  • Comprehensive package management
  • Accommodation booking system
  • Multiple travel modes
  • Pricing and availability management
  • SEO-optimized content
User Experience
  • User registration and authentication
  • Email verification system
  • Secure booking process
  • Personalized user dashboard
  • Email notifications
  • Mobile-responsive design
Content Management
  • Rich text blog editor
  • Category and tag system
  • Comment moderation
  • Publishing workflow
  • SEO-friendly URLs
  • Social sharing integration
Specialized Services
  • MICE (Meetings, Incentives, Conferences, Exhibitions)
  • Student travel programs
  • NGO and sustainable travel
  • Corporate booking management
  • Group travel coordination
  • Custom inquiry forms

Environment Configuration

Environment Setup: Comprehensive configuration for development, testing, and production environments with proper security and performance settings.

Environment Types

Development
  • ๐Ÿ—„๏ธ SQLite database
  • ๐Ÿ“ง Console email backend
  • ๐Ÿ› Debug mode enabled
  • ๐Ÿ”ง Debug toolbar active
  • ๐Ÿ”’ Relaxed security settings
  • ๐Ÿ“ Verbose logging
Testing
  • ๐Ÿ’พ In-memory SQLite
  • ๐Ÿ“ง Local email backend
  • ๐Ÿšซ Migrations disabled
  • โšก Fast password hashing
  • ๐Ÿ”‡ Minimal logging
  • ๐Ÿงช Test-specific settings
Production
  • ๐Ÿ˜ PostgreSQL (NeonDB)
  • ๐Ÿ“ง SMTP email backend
  • ๐Ÿšซ Debug mode disabled
  • ๐Ÿ”’ Security hardening
  • ๐Ÿ“Š Performance optimization
  • ๐Ÿ” Error monitoring

Required Environment Variables

Variable Purpose Example Value Required Environment
SECRET_KEY Django cryptographic signing django-insecure-xyz... Yes All
DATABASE_URL Database connection string postgresql://user:pass@host:port/db Yes Production
EMAIL_HOST_USER SMTP authentication username dedeexpeditions@gmail.com Yes Production
EMAIL_HOST_PASSWORD Gmail app password Yes Production
UPLOADCARE_PUBLIC_KEY Uploadcare image service demopublickey Yes All
UPLOADCARE_SECRET_KEY Uploadcare authentication demosecretkey Yes All
SITE_URL Base site URL for links https://novustelltravel.onrender.com Recommended Production
WHATSAPP_PHONE WhatsApp contact number +254701363551 Optional All
SENTRY_DSN Error monitoring service https://sentry.io/dsn/... Optional Production

Production Environment Configuration

Core Settings
# Django Core DJANGO_SETTINGS_MODULE=tours_travels.settings_prod SECRET_KEY=your-super-secret-key-here DEBUG=False ALLOWED_HOSTS=novustelltravel.onrender.com,.onrender.com # Database (NeonDB PostgreSQL) DATABASE_URL=postgresql://username:password@hostname:port/database # Email Configuration EMAIL_HOST_USER=novustellke@gmail.com EMAIL_HOST_PASSWORD=your-gmail-app-password DEFAULT_FROM_EMAIL=Novustell Travel ADMIN_EMAIL=info@novustelltravel.com JOBS_EMAIL=careers@novustelltravel.com NEWSLETTER_EMAIL=news@novustelltravel.com
Services & Security
# Uploadcare UPLOADCARE_PUBLIC_KEY=your-uploadcare-public-key UPLOADCARE_SECRET_KEY=your-uploadcare-secret-key # Site Configuration SITE_URL=https://novustelltravel.onrender.com WHATSAPP_PHONE=+254701363551 # Security SECURE_SSL_REDIRECT=True SECURE_HSTS_SECONDS=31536000 SESSION_COOKIE_SECURE=True CSRF_COOKIE_SECURE=True # Performance WEB_CONCURRENCY=3 GUNICORN_WORKERS=3

Render Deployment Configuration

services: - type: web name: novustell-travel env: python region: oregon plan: starter branch: wearelive buildCommand: | pip install --upgrade pip pip install -r requirements.txt python manage.py collectstatic --noinput --settings=tours_travels.settings_prod python manage.py migrate --settings=tours_travels.settings_prod startCommand: | gunicorn tours_travels.wsgi:application --bind 0.0.0.0:$PORT --workers 3 healthCheckPath: /health/ autoDeploy: true databases: - name: novustell-db databaseName: novustell_travel user: novustell_user region: oregon plan: free

Security Configuration

HTTPS & SSL
  • ๐Ÿ”’ SSL redirect enabled
  • ๐Ÿ›ก๏ธ HSTS headers configured
  • ๐Ÿช Secure cookies enforced
  • ๐Ÿ” CSRF protection active
  • ๐Ÿšซ XSS protection enabled
Content Security
  • ๐Ÿ“‹ Content Security Policy
  • ๐Ÿ” X-Content-Type-Options
  • ๐Ÿ–ผ๏ธ X-Frame-Options: DENY
  • ๐Ÿ”’ Referrer Policy configured
  • ๐Ÿ›ก๏ธ Permissions Policy set

Improvement Recommendations

Enhancement Opportunities: Strategic recommendations for performance, security, user experience, and feature improvements to elevate the booking system.

Performance Optimization

๐Ÿš€ Database Optimization
  • โœจ Implement database query optimization
  • ๐Ÿ“Š Add database indexing for search fields
  • ๐Ÿ”„ Implement query result caching
  • ๐Ÿ“ˆ Add database connection pooling
  • ๐Ÿ—ƒ๏ธ Implement database query monitoring
  • โšก Use select_related and prefetch_related

Impact: 40-60% faster page loads

โšก Caching Strategy
  • ๐Ÿ—„๏ธ Implement Redis caching layer
  • ๐Ÿ“„ Add template fragment caching
  • ๐Ÿ–ผ๏ธ Implement image CDN integration
  • ๐Ÿ“Š Cache expensive database queries
  • ๐ŸŒ Add browser caching headers
  • ๐Ÿ“ฑ Implement service worker caching

Impact: 70-80% faster repeat visits

Security Enhancements

๐Ÿ”ด High Priority
  • ๐Ÿ” Two-factor authentication
  • ๐Ÿ›ก๏ธ Web Application Firewall
  • ๐Ÿ“Š Security monitoring & alerting
  • ๐Ÿ” Comprehensive audit logging
  • โšก Rate limiting implementation
๐ŸŸก Medium Priority
  • ๐Ÿ“ง Email verification system
  • ๐ŸŒ IP-based access controls
  • ๐Ÿ”„ Enhanced session management
  • ๐Ÿ” Password strength enforcement
  • ๐Ÿ“ฑ Device fingerprinting
๐ŸŸข Low Priority
  • ๐Ÿ“ง Email encryption (PGP)
  • ๐Ÿ” Advanced threat detection
  • ๐Ÿ” Hardware security keys
  • ๐Ÿ›ก๏ธ Zero-trust architecture
  • ๐Ÿ“Š Behavioral analytics

User Experience Enhancements

Booking Experience
  • ๐ŸŽฏ Smart package recommendations
  • ๐Ÿ“… Real-time availability calendar
  • ๐Ÿ’ฐ Dynamic pricing display
  • ๐Ÿ”„ One-click rebooking
  • ๐Ÿ“ฑ Progressive Web App (PWA)
  • ๐Ÿ—ฃ๏ธ Multi-language support
  • โ™ฟ Enhanced accessibility features
Communication Features
  • ๐Ÿ’ฌ Live chat integration
  • ๐Ÿ“ž Click-to-call functionality
  • ๐Ÿ“ง Automated email sequences
  • ๐Ÿ“ฑ SMS notifications
  • ๐Ÿ”” Push notifications
  • ๐Ÿ“Š Booking status tracking
  • โญ Review and rating system

Additional Feature Recommendations

๐Ÿ’ณ Payment Integration
  • ๐Ÿ’ณ Stripe payment gateway
  • ๐Ÿฆ M-Pesa integration
  • ๐Ÿ’ฐ PayPal support
  • ๐Ÿ“ฑ Mobile money options
  • ๐Ÿ’ธ Installment payments
  • ๐ŸŽซ Digital receipts
๐Ÿ“Š Analytics & Insights
  • ๐Ÿ“ˆ Google Analytics 4
  • ๐Ÿ”ฅ Hotjar user behavior
  • ๐Ÿ“Š Custom dashboard metrics
  • ๐ŸŽฏ Conversion tracking
  • ๐Ÿ“ฑ Mobile app analytics
  • ๐Ÿ’ฐ Revenue reporting
๐Ÿค– Automation
  • ๐Ÿค– Chatbot integration
  • ๐Ÿ“ง Email marketing automation
  • ๐Ÿ“… Automated reminders
  • ๐Ÿ”„ Booking follow-ups
  • ๐Ÿ“Š Automated reporting
  • ๐ŸŽฏ Personalized recommendations

Recommended Implementation Timeline

Phase Duration Priority Features Expected Impact Resources Required
Phase 1
Security & Performance
2-3 weeks Rate limiting, caching, database optimization 50% performance improvement 1 Backend Developer
Phase 2
Payment Integration
3-4 weeks Stripe, M-Pesa, PayPal integration Complete booking automation 1 Full-stack Developer
Phase 3
User Experience
4-5 weeks PWA, live chat, recommendations 30% conversion increase 1 Frontend + 1 Backend Developer
Phase 4
Analytics & Automation
2-3 weeks Analytics, chatbot, email automation Data-driven optimization 1 Developer + Marketing

Deployment Information

Environment Setup
# Virtual Environment python -m venv env source env/bin/activate # Linux/Mac env\Scripts\activate # Windows # Install Dependencies pip install -r requirements.txt # Database Migration python manage.py migrate # Create Superuser python manage.py createsuperuser # Run Development Server python manage.py runserver
Database Configuration
# PostgreSQL (Neon Cloud) DATABASE_URL=postgresql://... # Environment Variables DEBUG=False SECRET_KEY=your-secret-key ALLOWED_HOSTS=your-domain.com # Media Storage UPLOADCARE_PUBLIC_KEY=your-key UPLOADCARE_SECRET_KEY=your-secret # Email Configuration EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USE_TLS=True
Security Note: Always use environment variables for sensitive configuration in production.

Common Issues & Solutions

Quick Help: Here are solutions to the most common issues you might encounter while using the Novustell Travel website admin system.

Website Not Loading

Possible Causes:
  • Server maintenance or downtime
  • Internet connection issues
  • Browser cache problems
  • DNS propagation delays
Solutions:
  • Wait 5-10 minutes and try again
  • Check your internet connection
  • Clear browser cache and cookies
  • Try accessing from a different device
  • Contact technical support if issue persists

Can't Access Admin Dashboard

Common Problems:
  • Forgotten username or password
  • Account permissions changed
  • Browser not saving login credentials
  • Session timeout
Solutions:
  • Use the "Forgot Password" link
  • Contact system administrator for permission reset
  • Try logging in from an incognito/private window
  • Clear browser data and try again
  • Ensure you're using the correct admin URL: /admin/

Emails Not Sending

Possible Issues:
  • Email server configuration problems
  • Recipient email address invalid
  • Emails going to spam folder
  • Daily sending limits reached
Solutions:
  • Check email settings in admin dashboard
  • Verify recipient email addresses are correct
  • Ask customers to check spam/junk folders
  • Contact hosting provider about sending limits
  • Test with a different email address

Image Upload Problems

Common Issues:
  • Image file too large
  • Unsupported file format
  • Slow internet connection
  • Browser compatibility issues
Solutions:
  • Resize images to under 5MB before uploading
  • Use JPG or PNG format only
  • Wait for stable internet connection
  • Try uploading from a different browser
  • Refresh the page and try again
Need More Help?

If you can't resolve the issue using these solutions, contact our technical support team:

  • Email: info@novustelltravel.com
  • Phone: +254 701 363 551
  • WhatsApp: +254 701 363 551
  • Office: New Peoples Media Center, Kilimani