Sara Global Store is a modern e-commerce platform specializing in cosmetics, beauty products, and lifestyle items in Nepal. Built with Django, this full-featured online shopping platform provides a seamless experience for both customers and administrators.
- Product Browsing: Browse products by categories (Skincare, Beauty, Electronics, Miscellaneous)
- Search & Filter: Advanced search functionality with category filtering
- User Authentication: Secure registration, login, and profile management
- Wishlist: Save favorite products for later
- Shopping Cart: Add, remove, and manage items in cart
- Checkout Process: Streamlined checkout with multiple address support
- Order Tracking: Real-time order status updates (Pending β Received β Packed β On the Way β Delivered)
- Product Reviews: Rate and review purchased products
- Responsive Design: Mobile-friendly interface
- Product Management: Add, edit, and manage products with images
- Order Management: Track and update order status
- Customer Management: View customer details and order history
- Content Management: Manage homepage slides, banners, and promotional content
- Inventory Control: Track product availability and stock levels
- Promo Codes: Create and manage discount codes
- SEO Optimized: Meta tags, sitemaps, and search engine friendly URLs
- Email Integration: Order confirmations and notifications
- Media Management: Image upload and processing with Pillow
- Security: CSRF protection, secure user authentication
- Admin Interface: Django admin panel for easy management
- Backend: Django 3.2.5
- Database: SQLite (development), easily configurable for PostgreSQL/MySQL
- Frontend: HTML5, CSS3, JavaScript, jQuery
- Image Processing: Pillow 10.2.0
- Additional Libraries:
- django-humanize (for better date/time formatting)
- django-sitemaps (for SEO)
saraglobalstore/
βββ saraglobalstore/ # Main project directory
β βββ settings.py # Django settings
β βββ urls.py # Main URL configuration
β βββ wsgi.py # WSGI configuration
β βββ asgi.py # ASGI configuration
βββ home/ # Main app for products and orders
β βββ models.py # Product, Cart, Order models
β βββ views.py # Business logic
β βββ urls.py # App URL patterns
β βββ admin.py # Admin interface configuration
β βββ migrations/ # Database migrations
βββ registration/ # User authentication and profiles
β βββ models.py # Customer model
β βββ views.py # Authentication views
β βββ forms.py # User forms
β βββ urls.py # Auth URL patterns
βββ blog/ # Blog functionality
βββ templates/ # HTML templates
β βββ base.html # Base template
β βββ home/ # Home app templates
β βββ registration/ # Auth templates
β βββ emails/ # Email templates
βββ static/ # Static files
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
β βββ img/ # Static images
βββ media/ # User uploaded files
β βββ slides/ # Homepage slides
β βββ banners/ # Banner images
β βββ products/ # Product images
βββ requirements.txt # Python dependencies
βββ manage.py # Django management script
- Python 3.8+
- pip (Python package manager)
- Virtual environment (recommended)
-
Clone the repository
git clone <repository-url> cd SaraECommerce
-
Create and activate virtual environment
python -m venv env # On Windows: env\Scripts\activate # On macOS/Linux: source env/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Configure settings
- Update
SECRET_KEYinsettings.pyfor production - Configure database settings if not using SQLite
- Set up email backend for order notifications
- Update
-
Run migrations
python manage.py makemigrations python manage.py migrate
-
Create superuser
python manage.py createsuperuser
-
Collect static files (for production)
python manage.py collectstatic
-
Run the development server
python manage.py runserver
Visit http://127.0.0.1:8000 to view the application.
Access the admin panel at http://127.0.0.1:8000/admin/ to:
- Add products and categories
- Manage orders and customers
- Upload homepage content (slides, banners)
- Create promo codes
- Browse Products: Visit the homepage or product categories
- Add to Cart: Select products and add them to cart
- Checkout: Provide shipping address and place order
- Track Order: Monitor order status in the orders section
- Review Products: Rate and review delivered products
Configure email settings in settings.py for order notifications:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'your-smtp-host'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@domain.com'
EMAIL_HOST_PASSWORD = 'your-password'Ensure proper media file handling for product images:
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'Set the following environment variables for production:
SECRET_KEY: Django secret keyDEBUG: Set toFalseALLOWED_HOSTS: Your domain names- Database credentials
- Email configuration
- Use HTTPS in production
- Configure proper ALLOWED_HOSTS
- Set up database backups
- Enable Django security middleware
- Use environment variables for sensitive data
The application uses AJAX endpoints for dynamic functionality:
/add-to-cart/: Add products to cart/remove-from-cart/: Remove items from cart/add-to-wishlist/: Manage wishlist/place-order/: Process orders/add-review/: Submit product reviews
- Modify CSS files in
static/css/ - Update templates in
templates/ - Customize admin interface through
admin.py
- Extend models in
models.py - Add views in
views.py - Create URL patterns in
urls.py - Update templates as needed
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Create a Pull Request
This project is proprietary software for Sara Global Store. All rights reserved.
- v1.0: Initial release with core e-commerce functionality
- Current version includes full product management, order processing, and customer features
Note: This is a production e-commerce platform. Ensure proper testing and security measures before deploying to a live environment.