Skip to content

abhijithnbdev/artogram

Repository files navigation

ARTOGRAM

Modern Django-based art e-commerce platform branded as Canv.AS. It provides catalog browsing, user authentication with a custom email-first user model, reviews, wishlists, profiles, dashboards, and a styled admin .

Features

  • Product catalog with categories, tags, images, rich descriptions, and specifications
  • Vendor profiles and vendor product listings
  • Cart, order creation, and checkout via Razorpay
  • Product reviews with rating distribution
  • User dashboards, addresses, profile editing, wishlist
  • Email contact form with HTML templates
  • CKEditor upload support for rich content

Tech Stack

  • Django 5 (Python 3.12 recommended)
  • SQLite (default) with Django ORM
  • Third-party: django-taggit, django-ckeditor, django-jazzmin, razorpay, whitenoise
  • Frontend: Django templates under templete/ and static assets under static/

Project Structure

  • ecomprj: Django project settings and URLs
  • core: e-commerce domain (catalog, orders, reviews, dashboard, contact)
  • userauths: custom user model and auth views
  • templete: HTML templates grouped by app
  • static: CSS/JS/images and assets
  • media: uploaded images (products, categories, user content)

Quick Start (Local)

  1. Ensure Python 3.12 is installed.
  2. Create a virtual environment and activate it.
  3. Install dependencies:
    • pip install -r requirements.txt
  4. Apply migrations and create a superuser:
    • python manage.py migrate
    • python manage.py createsuperuser
  5. Run the development server:
    • python manage.py runserver
  6. Visit:

Configuration

  • Static files:
    • STATIC_URL = 'static/'
    • STATIC_ROOT is staticfiles
    • STATICFILES_DIRS includes static/
    • WhiteNoise enabled for production
  • Media files:
    • MEDIA_URL = '/media/'
    • MEDIA_ROOT is media/
  • Templates:
    • Templates directory configured to templete/
  • CKEditor:
    • Upload path configured as uploads/
  • Custom user:
    • AUTH_USER_MODEL = 'userauths.User' (email is the login field)

Environment & Secrets

  • External integrations:
    • SMTP credentials for email
  • For production, move secrets into environment variables or a secure store. Avoid committing credentials to source control.
  • Recommended variables:
    • SECRET_KEY
    • DEBUG
    • ALLOWED_HOSTS
    • EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT

Key Routes

  • Core
    • / Home (requires sign-in)
    • /products Product list
    • /product/<pid> Product detail
    • /category Category list
    • /category/<cid> Products by category
    • /vendor Vendor list
    • /vendor/<vid> Vendor detail
    • /product/tag/<slug> Tagged products
    • /add-to-cart Add to cart (AJAX)
    • /cart Cart view and Razorpay order creation
    • /update-cart Update quantities (AJAX)
    • /checkout/success/ Checkout success and order creation
    • /dashboard/ Customer dashboard
    • /dashboard-edit/ Profile edit
    • /dashboard/order/<id> Order detail
    • /contact/ Contact form
  • Auth
    • /user/sign-up/ Register
    • /user/sign-in/ Login
    • /user/sign-out/ Logout
  • Admin
    • /admin/ Jazzmin-styled admin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published