Skip to content

Repository files navigation

Showroom Visitor Handling System

A Django-based web application for managing showroom visitors, employees, products, and customer interactions. This system helps automate the process of visitor allocation to employees and manages product catalogs with shopping cart functionality.

Features

  • Customer Management: Register and manage customer information
  • Employee Management: Handle employee profiles and availability
  • Product Catalog: Manage products with categories, descriptions, and images
  • Shopping Cart: Add products to cart and process orders
  • Visitor Allocation: Automatically assign available employees to customers
  • Admin Dashboard: Comprehensive admin interface for managing the system
  • Feedback System: Collect customer feedback

Technology Stack

  • Backend: Django 5.0
  • Database: SQLite (default), MySQL (configurable)
  • Frontend: HTML, CSS, JavaScript
  • Image Handling: Pillow

Installation

  1. Clone the repository

    git clone https://github.com/your-username/Showroom-Visitor-Handling-System.git
    cd Showroom-Visitor-Handling-System/SRC
  2. Create a virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Environment Setup

    cp .env.example .env
    # Edit .env file with your configuration
  5. Database Setup

    python manage.py makemigrations
    python manage.py migrate
  6. Create Superuser

    python manage.py createsuperuser
  7. Run the Development Server

    python manage.py runserver

Configuration

Environment Variables

Create a .env file in the project root and configure the following variables:

SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

Database Configuration

The application uses SQLite by default. To use MySQL:

  1. Install MySQL and create a database
  2. Install mysqlclient: pip install mysqlclient
  3. Update settings.py with your MySQL configuration

Usage

Admin Access

  • Navigate to /admin/
  • Login with superuser credentials

Employee Access

  • Navigate to /employee_login/
  • Default format: username = employee name, password = name@agl

Customer Flow

  1. Fill customer form at the homepage
  2. Get automatically assigned to an available employee
  3. Browse products and add to cart
  4. Complete purchase process

API Endpoints

  • / - Customer registration form
  • /admin/ - Admin dashboard
  • /employee_login/ - Employee login
  • /products/ - Product catalog
  • /cart/ - Shopping cart

Security Features

  • Environment-based configuration
  • CSRF protection
  • Password validation
  • Secure secret key management

Development

Project Structure

SRC/
├── showroom/                 # Main application
│   ├── models.py            # Database models
│   ├── views.py             # View functions
│   ├── urls.py              # URL patterns
│   ├── forms.py             # Django forms
│   ├── templates/           # HTML templates
│   └── static/              # Static files
├── showroom_project/        # Project settings
│   ├── settings.py          # Django settings
│   └── urls.py              # Main URL configuration
├── manage.py                # Django management script
└── requirements.txt         # Python dependencies

Adding New Features

  1. Create models in showroom/models.py
  2. Create views in showroom/views.py
  3. Add URL patterns in showroom/urls.py
  4. Create templates in showroom/templates/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Security Notice

  • Never commit .env files or sensitive data
  • Change default passwords in production
  • Use strong secret keys
  • Enable HTTPS in production
  • Review and update dependencies regularly

License

This project is developed for educational purposes. Please ensure proper licensing before commercial use.

Support

For support or questions, please create an issue in the GitHub repository.

Deployment

For production deployment:

  1. Set DEBUG=False in environment variables
  2. Configure proper database (PostgreSQL recommended)
  3. Set up static file serving
  4. Configure email backend
  5. Use environment variables for all sensitive data
  6. Enable HTTPS
  7. Set proper ALLOWED_HOSTS

Changelog

Version 1.0

  • Initial release
  • Basic customer and employee management
  • Product catalog and shopping cart
  • Admin dashboard
  • Feedback system

About

Welcome to the future of showroom shopping! Our Showroom Visitor Handling System brings together the magic of technology and personalized service. Imagine entering a showroom, scanning a QR code, and instantly diving into a world where your preferences matter. This system ensures that your journey is not just shopping.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages