E-Commerce 2 By Django
1. Accounts
2. Addresses
3. Analytics
4. Billing
5. Carts
6. Contact
7. Marketing
8. Orders
9. Products
10. Search
11. Tags
- Guest register
- User register
- User login
- User logout
- Account home page
- product view history
- Change password
- Reset password
- Change name
- Send activation email when register
- Resend activation email
- Add shipping address
- Add billing address
- Add nickname to the addresses
- Edit shipping address
- Edit billing address
- View list of your addresses
- Reuse shipping addresses when order products
- Reuse billing addresses when ordeer products
- Show sales analytics if staff or admin only using -chart.js-
- Get analytics data with Ajax
- Receive marketing email
- Change if user will receive marketing email or not by admin
- Send contact message with Ajax
- Products list
- Product detail
- Download product detail as a PDF file
- Download digital product files -if the user purchased that digital product only-
- Orders list
- List of digital products files
- Order detail
- Download order detail as a PDF file
- Verify order ownership with Ajax -to secure order detail page-
- Show cart products
- Add or remove product from cart
- Checkout page
- Thanks page when order placed successfully
- Add or reuse payment method
- Add or reuse payment method with Ajax
- Search products by title
- Search products by description
- Search products by price
- Search products by tag title
- Write tags for products -by admin only-
- Auto fill contact email, full name if user logged in
# change database connection information in settings.py DATABASES default values with your info then run
1. python manage.py migrate
2. python manage.py runserver
# if you want to manage to project just create super user account by :
3. python manage.py createsuperuser
That's it.
Now the project is running at http://localhost:8000
and your routes is:
Route | HTTP Method | Description |
---|---|---|
{host} | GET | Home page |
{host}/admin/ | GET | Admin control panel |
{host}/about/ | GET | About page |
{host}/account/register/ | POST | User register |
{host}/account/register/guest/ | POST | Guest register |
{host}/account/login/ | POST | User login |
{host}/account/logout/ | POST | User logout |
{host}/account/email/confirm/{key}/ | GET | Activate user account after register |
{host}/account/email/resend-activation/ | POST | Resend activation email |
{host}/account/ | GET | User account home page |
{host}/account/details/ | PUT | Change account details |
{host}/account/history/products/ | GET | Product view history |
{host}/accounts/password/change/ | POST | Change account password |
{host}/accounts/password/change/done/ | GET | Change account password done |
{host}/accounts/password/reset/ | POST | Reset password |
{host}/accounts/password/reset/done/ | POST | Send reset password email |
{host}/accounts/password/reset/{uidb64}/{token}/ | POST | Enter new password |
{host}/accounts/password/reset/complete/ | GET | Finish reset password |
{host}/addresses/ | GET | All addresses list |
{host}/addresses/create/ | POST | Add Address |
{host}/addresses/update/{id}/ | POST | Edit Address |
{host}/addresses/checkout/address/create/ | POST | Add Address when checkout |
{host}/addresses/checkout/address/reuse/ | POST | Reuse Address already exists when checkout |
{host}/analytics/sales/ | GET | Show sales analytics if staff or admin only |
{host}/analytics/sales/data/ | GET | Get analytics data with Ajax |
{host}/marketing/email/ | PUT | Receive marketing email option |
{host}/marketing/webhooks/mailchimp/ | POST | Change if user will receive marketing email |
{host}/contact/ | POST | Send contact message with Ajax |
{host}/products/ | GET | Products list |
{host}/products/{slug}/ | GET | Product detail |
{host}/products/{slug}/download/ | GET | Download product detail as a PDF file |
{host}/products/{slug}/{pk}/ | GET | Download digital product files |
{host}/orders/ | GET | Orders list |
{host}/orders/library/ | GET | List of digital products files |
{host}/orders/{order_id}/ | GET | Order detail |
{host}/orders/{order_id}/download/ | GET | Download order detail as a PDF file |
{host}/orders/endpoint/verify/ownership/ | GET | Verify order ownership with Ajax |
{host}/cart/ | GET | Show cart products |
{host}/cart/update/ | POST | Add or remove product from cart |
{host}/cart/checkout/ | POST | Checkout Page |
{host}/cart/checkout/success/ | GET | Thanks page when order placed successfully |
{host}/billing/payment-method/ | POST | Add or reuse payment method |
{host}/billing/payment-method/create/ | POST | Add or reuse payment method with Ajax |
{host}/search/ | GET | Search products |
API Route | HTTP Method | Description |
---|---|---|
{host}/cart-api/ | GET | Cart products |
For detailed explanation on how project work, read the Django Docs and MySQLDB Docs
This project made by Osama Mohamed
This project is licensed under the MIT License