Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Django Shop


Published on

* an introduction to Django
* E commerce web shop to cell products online

Published in: Technology, Business
  • Be the first to comment

Django Shop

  1. 1. Django Shop A.R. Kadkhodamohammdi Vahid Rafiei
  2. 2. Agenda <ul><ul><ul><li>Introduction </li></ul></ul></ul><ul><ul><ul><li>Business Plan </li></ul></ul></ul><ul><ul><ul><li>Use-cases </li></ul></ul></ul><ul><ul><ul><li>ER Diagram </li></ul></ul></ul><ul><ul><ul><li>Technology of choice </li></ul></ul></ul><ul><ul><ul><li>The progress </li></ul></ul></ul><ul><ul><ul><li>Q & A </li></ul></ul></ul>
  3. 3. Main business plan • Selling the final product : E-Shopping website with proper functionalities.   • Taking care of infrastructure : charging the web hosting,  domain and full maintenance. • If clients also have their own infrastructure : charging a complement for managing software and services.   System available in two versions : Basic & Professional versions.
  4. 4. Basic version • Users can order several items among categories • Users have their own basket  • Online payment (Google Check-out) • Profile • Keeping track of the previous orders • Admin Control Panel (CRUD+management) • Search functionalities • etc.        
  5. 5. Professional version         • Basic Version   +   • Functionalities to provide a better sale management (statistics, etc.) • Keeping track of Users and their orders  • Making Catalogs  • Marketing-oriented tools and adds-manager (Add-ons) • Using AJAX and Web-Services for managing add-ons It represents a good way for our clients to have a better business approach and to fit their customers’ needs. Also, the ability to manage discounts and promotions is a nice advantage for such an E-Commerce website solution.
  6. 6. Customer use-case <ul><li>  </li></ul>
  7. 7. Admin use-case <ul><li>  </li></ul>
  8. 8. ER Diagram <ul><li>  </li></ul>
  9. 9. Test Cases <ul><ul><li>Not a TDD design pattern </li></ul></ul><ul><ul><li>Embedding the tests within the skeleton </li></ul></ul><ul><ul><li>Full testing on one App </li></ul></ul><ul><ul><li>Unit Testing </li></ul></ul>
  10. 10. Technology <ul><li>  </li></ul>
  11. 11. Python <ul><li>They like it .. </li></ul>
  12. 12. Django <ul><li>  </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>The Web Framework for Perfectionists with Deadlines </li></ul>
  13. 13. Django <ul><li>They like it .. </li></ul><ul><li>  </li></ul>
  14. 14. Django <ul><ul><ul><li>DRY </li></ul></ul></ul><ul><ul><ul><li>MVC </li></ul></ul></ul><ul><ul><ul><li>MTV </li></ul></ul></ul><ul><ul><ul><li>ORM  </li></ul></ul></ul><ul><ul><ul><li>CRUD </li></ul></ul></ul><ul><ul><ul><li>  Reusable Apps </li></ul></ul></ul><ul><ul><ul><li>Scalability  </li></ul></ul></ul>
  15. 15. Our progress  <ul><li>The following part has been implemented: </li></ul><ul><ul><li>Model </li></ul></ul><ul><ul><li>Admin panel </li></ul></ul><ul><ul><li>Adding the model part to the admin panel </li></ul></ul><ul><ul><li>User Registration </li></ul></ul>
  16. 16. Model  <ul><ul><li>make different application for  </li></ul></ul><ul><ul><ul><ul><li>customer </li></ul></ul></ul></ul><ul><ul><ul><ul><li>product </li></ul></ul></ul></ul><ul><ul><ul><ul><li>basket </li></ul></ul></ul></ul>
  17. 17. Admin control panel <ul><li>  </li></ul>
  18. 18. Admin control panel cont'd    <ul><li>  </li></ul>
  19. 19. Admin control panel cont'd    <ul><li>  </li></ul>
  20. 20. User Registration <ul><li>    1. User signs up, inactive account is created.                             </li></ul><ul><li>    2. Email is sent to user with activation link. </li></ul><ul><li>    3. User clicks activation link, account is now active. </li></ul>
  21. 21. User Registration cont'd <ul><li>  </li></ul>
  22. 22. Sample Email to an active Customer <ul><li>To Activate an account at Django Shop: </li></ul><ul><li>  </li></ul><ul><li>&quot;Please click on the following link to activate your account </li></ul><ul><li>  </li></ul><ul><li><Link> </li></ul><ul><li> </li></ul><ul><li></Link>   </li></ul><ul><li>Link is valid for 7 days. &quot; </li></ul>
  23. 23. Remaining parts <ul><ul><li>Showing products </li></ul></ul><ul><ul><li>Basket Management </li></ul></ul><ul><ul><li>Online Payment </li></ul></ul><ul><ul><li>Search </li></ul></ul><ul><ul><li>Testing </li></ul></ul>
  24. 24. Security <ul><ul><li>Using Django embedded security </li></ul></ul><ul><ul><li>Cross-site scripting (XSS) </li></ul></ul><ul><ul><li>CSRF (Cross-site request forgery) </li></ul></ul><ul><ul><li>Session Hijaking </li></ul></ul><ul><ul><li>SQL injection </li></ul></ul><ul><ul><li>SSL connections </li></ul></ul>
  25. 25. Code Management <ul><ul><li>Subversion as the revision control </li></ul></ul><ul><ul><li>  IDE (eclipse/Apatna 3) </li></ul></ul><ul><ul><li>Google Group discussion </li></ul></ul>