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.
- 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
- Backend: Django 5.0
- Database: SQLite (default), MySQL (configurable)
- Frontend: HTML, CSS, JavaScript
- Image Handling: Pillow
-
Clone the repository
git clone https://github.com/your-username/Showroom-Visitor-Handling-System.git cd Showroom-Visitor-Handling-System/SRC -
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Environment Setup
cp .env.example .env # Edit .env file with your configuration -
Database Setup
python manage.py makemigrations python manage.py migrate
-
Create Superuser
python manage.py createsuperuser
-
Run the Development Server
python manage.py runserver
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
The application uses SQLite by default. To use MySQL:
- Install MySQL and create a database
- Install mysqlclient:
pip install mysqlclient - Update settings.py with your MySQL configuration
- Navigate to
/admin/ - Login with superuser credentials
- Navigate to
/employee_login/ - Default format: username = employee name, password = name@agl
- Fill customer form at the homepage
- Get automatically assigned to an available employee
- Browse products and add to cart
- Complete purchase process
/- Customer registration form/admin/- Admin dashboard/employee_login/- Employee login/products/- Product catalog/cart/- Shopping cart
- Environment-based configuration
- CSRF protection
- Password validation
- Secure secret key management
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
- Create models in
showroom/models.py - Create views in
showroom/views.py - Add URL patterns in
showroom/urls.py - Create templates in
showroom/templates/
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
- Never commit
.envfiles or sensitive data - Change default passwords in production
- Use strong secret keys
- Enable HTTPS in production
- Review and update dependencies regularly
This project is developed for educational purposes. Please ensure proper licensing before commercial use.
For support or questions, please create an issue in the GitHub repository.
For production deployment:
- Set
DEBUG=Falsein environment variables - Configure proper database (PostgreSQL recommended)
- Set up static file serving
- Configure email backend
- Use environment variables for all sensitive data
- Enable HTTPS
- Set proper
ALLOWED_HOSTS
- Initial release
- Basic customer and employee management
- Product catalog and shopping cart
- Admin dashboard
- Feedback system