Django e-commerce project where users can buy and sell exotic items:
An e-commerce platform where authenticated users can list, buy, and sell exotic items. The application will have user registration, item listing, cart functionality
-
User Authentication:
- Registration, login, and profile management using Django’s built-in authentication system with an abstract user model.
- Extra fields: phone number and age.
-
Item Management:
- Users can create, update, and delete items.
- Items have attributes like name, description, price, image, and category.
-
Shopping Cart:
- Users can add items to their cart.
- Cart management with options to view, update, or remove items.
-
Custom User Model (
User):- Fields: username, email, password, phone number, age, etc.
-
Item Model (
Item):- Fields: name, description, price, image, category, seller (ForeignKey to User), available (Boolean).
-
Cart Model (
Cart):- Fields: user (OneToOne with User), items (ManyToMany with Item), total_price.
-
Transaction Model (
Transaction):- Fields: buyer, seller, item, transaction_date, status.
- User Registration Form: For creating new users with extra fields.
- User Update Form: For updating user information.
- Item Form: For creating and updating item listings.
- Cart Update Form: For adding/removing items from the cart.
-
Authentication Views:
- Register, login, logout, profile update.
-
Item Views:
- Create, update, list items.
- Item detail view.
-
Cart Views:
- Add to cart, view cart, update cart.
- Home Page: Display featured and latest items.
- Item Listing Page: Show all items with filters and search.
- Item Detail Page: Detailed view of an item with an option to add to cart.
- Cart Page: View and update items in the cart.
- User Profile: Update profile information.
- Set Up Django Project: Install Django, create a new project and app.
- Custom User Model: Create an abstract user model with extra fields.
- Create Models and Migrations: Define models with relationships and run migrations.
- Develop Forms: Create forms for user registration, item creation, and updates.
- Build Views: Implement views to handle CRUD operations for users and items.
- Design Templates: Use HTML, CSS, and JavaScript for front-end design.
- Testing: Test all features for bugs and usability.