SlideShare a Scribd company logo
1 of 38
CIS591 DESIGN PRESENTATION
BACKGROUND
A refresher on the concept
COMPANY / SYSTEM BACKGROUND

    National Marketing Resources / Professional Marketing International
•

        Business development, sales leads, web coaching
    •

    Current system, LINKS, is tied to Windows-only desktop clients
•

    New system, Birdie, frees up the user to be on whatever platform they choose (Linux,
•
    Mac, mobile browsers)

        Implements sales leads tracking, sales company management, report generation
    •
WHAT THE SYSTEM DOES

    Processing representatives can add leads, lead sources, promotions, company
•
    information

    Processing reps pass leads on to individual sales companies
•

    Company managers divvy out leads down to divisions, which divvy leads to teams
•

    Teamleaders distribute leads to marketers, who follow up on sales calls with information
•
    about the customer, possibly upgraded lead status

    Reports can be generated on lead detail, company detail, unit performance, and more
•
REQUIREMENTS MODELS & MORE
  Use case diagrams, domain class diagram, and color scheme
System


                                            Define lead
                                              source


                                         Create new lead


                                          Import external
                                              leads




 USE CASES
                                         Define promotion


                                         Define marketing
                                            campaign

Processing Representative   Processing    Assign leads to
                               Rep          lead path


                                         Distribute leads to
                                          sales company


                                          Export lead list



                                         Define customer
System


                                               Distribute leads to
                                                   sales team


                       Distribute leads to
                             division




USE CASES                                                             Division
                        Generate lead
                                                                      manager
                           report



  Managers
                          Generate
                        marketer report
              Sales
             manager
                       Generate overall
                           report

                                                                        Sales
                                                   Assign leads to
                                                                     teamleader
                                                     marketers
System


USE CASES                Modify lead status

  Marketers
              Marketer
Domain Class Diagram                                                                  Benjamin Kreeger




                                                                                      LeadSource
                                                                            1      companyName                                                                  Product
                                                                                   address                                                               productName
                                                                                                               1                                     *
                                                                                   city                                                                  productSource
                                           *
                                                                                   state                                                                 productPrice
                                              Promotion                            zip                                                                   productDescription
                                        promotionName                              country                                                               productPicture
                                        promotionSource                            phone
                                                                                                                                                                              1..*
                                                   0..1                                                                         OrderDetails
                                                                                                0..1
                                                                                                                           orderID
                                                                                                                           productID
                                                                                                                           qty
                                                                                    *           *
                                                                                                                                                                              *
                                                                                          Lead
                                                                                   createDate                                                                     Order
                                                                                   expireDate
                                            SalesCompany                                                                                                  orderDate
                                                                                   customerID
                                           companyName




 DOMAIN CLASS
                                                                                                                                                          orderCustomerID
                                                                                   sourceID
                                           address                                                                                                        orderTotal
                                                                                   promotionID
                                           city                                                                                                           orderPaymentMethod
                                    1                                        *
                                                                     0..1          pipeline
                                           state                                                                                                          orderDueDate
                                                                                   salesCompanyID
                                           zip                                                                                                            orderPayDate
                                                                                   divisionID
                                           country
                                    1
                                                                                                                                                                              *
                                                                                   teamID
                                           phone                                                               *
                                                                                   marketerID
                                           isInternal




   DIAGRAM
                                                                                   status
                                           managerID
                                                                                   change_date
                                                            1
                                               1                                   detail                              0..1
                                                            *
                                                                                                    *
                                                                                    *       *
                                                                 Division                                                                   Person
                                                                                                               Team
                                                          divisionName                                                                firstName
                                                                                                        divisionID
                                                          companyID                                                                   lastName
                                                                                   0..1                 teamLeaderID
                                                          managerID                                                                   address
                                                                                                          *                           city
                                                                                                                   1   1          1
                                                      1                 1

New components and changes are in
                                                                 1                                                                    state
                                                                                                                                      zip
                                                                                                                                      country
                                                                                                                                      phone


           green                                                                                                                                                              1
                                                                                                                                                            0..1
                                                                                  ExtendUser
                                                                                                                                                                 Customer
                                                                                userID
                                                                                                                                                             age
                                                                                                                                                             maritalStatus
                                                      0..1                                                    0..1
                                                                                                                                                             numChildren
                                                                                                                                                             assets
                                                                             1                                              *
                                     0..1                                                                                                                    liabilities
                                           Manager                       Team Leader                        Marketer                   ProcessingRep
                                        managerType                    commissionRate                   commissionRate                managerID
                                                                                                        teamID                        salesCompanyID
                                           1
                                                                                                                                        *      *
                                                                                                               1

                                                                                              Report
                                                                                        name
                                                                                        description
                                                                                        createdAt
                                                                                        createdBy
                                                                                        startDate
                                                                                        endDate
                                                                                                                                            0..*
                                                                                                                           0..*
                                                                            0..*
                                    0..*
                                        CompanyReport                   DivisionReport                     TeamReport                 MarketerReport
                                        salesCompanyID                 divisionID                       teamID                        marketerID
COLOR SCHEME
Bronze, brown earth tones with teal
   selection (and shades of gray)
Entity Relationship Diagram                                                                                                                                                                 Benjamin Kreeger


                                     leads_leadsource
                             id INT(11)                                                              leads_product                               auth_user_user_permissions           auth_permission         auth_group_permissions
                             company_name VARCHAR(100)                                         id INT(11)                                       id INT(11)                      id INT(11)                  id INT(11)
                             address VARCHAR(100)                                              name VARCHAR(100)                                user_id INT(11)                 name VARCHAR(50)            group_id INT(11)
                             city VARCHAR(60)                                                  source_id INT(11)                                permission_id INT(11)           content_type_id INT(11)     permission_id INT(11)
      leads_promotion        state VARCHAR(2)                                                  price DECIMAL(12,2)                                                              codename VARCHAR(100)
id INT(11)                   zip_code VARCHAR(10)                                              description LONGTEXT
name VARCHAR(100)            country VARCHAR(50)                                               picture VARCHAR(100)
source_id INT(11)            phone VARCHAR(20)
                                                                     leads_orderdetails
                                                                 id INT(11)
                                                                 order_id INT(11)                                                                          auth_user                 auth_user_groups               auth_group
                                                                 product_id INT(11)                                                              id INT(11)                     id INT(11)                  id INT(11)
                                                                 quantity DECIMAL(12,2)                                                          username VARCHAR(30)           user_id INT(11)             name VARCHAR(80)
                                                                                                                                                 first_name VARCHAR(30)          group_id INT(11)
                                                                                                                                                 last_name VARCHAR(30)
                                                                                                                                                 email VARCHAR(75)
                                                                                                                                                 password VARCHAR(128)
                                                   leads_lead                                                                                    is_staff TINYINT(1)
                                          id INT(11)                                                       leads_order                           is_active TINYINT(1)
                                          create_date DATETIME                                                                                                                         auth_message
       leads_salescompany                                                                       id INT(11)                                       is_superuser TINYINT(1)
                                          expire_date DATETIME                                                                                                                  id INT(11)
id INT(11)                                                                                      date DATETIME                                    last_login DATETIME
                                          customer_id INT(11)                                                                                                                   user_id INT(11)
company_name VARCHAR(100)                                                                       customer_id INT(11)                              date_joined DATETIME
                                          source_id INT(11)                                                                                                                     message LONGTEXT
address VARCHAR(100)                                                                            total DECIMAL(12,2)
                                          promotion_id INT(11)
city VARCHAR(60)                                                                                payment_method VARCHAR(10)
                                          pipeline VARCHAR(2)
state VARCHAR(2)                                                                                due_date DATETIME
                                                                                                                                                                                                                     django.auth
                                          sales_company_id INT(11)
zip_code VARCHAR(10)                                                                            pay_date DATETIME
                                          division_id INT(11)
country VARCHAR(50)
                                          team_id INT(11)
phone VARCHAR(20)
                                          marketer_id INT(11)
is_internal TINYINT(1)
                                          status VARCHAR(8)
manager_id INT(11)
                                          change_date DATETIME
                                          detail LONGTEXT
                                                                                                                                                                                   django_content_type          django_admin_log
                                                                                                                                                other django
                                                                                                 leads_person                                                                  id INT(11)                 id INT(11)
                                                                                                                                                framework
                                                                                          id INT(11)                                                                           name VARCHAR(100)          action_time DATETIME
                leads_division
                                                                                                                                                tables
                                                                                          first_name VARCHAR(50)                                                                app_label VARCHAR(100)     user_id INT(11)
           id INT(11)
                                                             leads_team                   last_name VARCHAR(50)                                                                model VARCHAR(100)         content_type_id INT(11)
           name VARCHAR(50)
                                                       id INT(11)                         address VARCHAR(100)                                                                                            object_id LONGTEXT
           company_id INT(11)
                                                       division_id INT(11)                city VARCHAR(60)                                                                                                object_repr VARCHAR(200)
           manager_id INT(11)
                                                       teamleader_id INT(11)              state VARCHAR(2)                                                                                                action_flag SMALLINT(5)
                                                                                                                                                          django_site               django_session
                                                                                          zip_code VARCHAR(10)                                                                                            change_message LONGTEXT
                                                                                                                                                  id INT(11)                  session_key VARCHAR(40)
                                                                                          country VARCHAR(50)
                                                                                                                                                  domain VARCHAR(100)         session_data LONGTEXT
                                                                                          phone VARCHAR(20)
                                                                                                                                                  name VARCHAR(50)            expire_date DATETIME




                               leads_extenduser




DETAIL DESIGN DOCUMENTATION
                                                                                                                             leads_customer
                             person_ptr_id INT(11)
                                                                                                                   person_ptr_id INT(11)
                             user_id INT(11)
                                                                                                                   age INT(11)
                                                                                                                   marital_status VARCHAR(20)
                                                                                                                   num_children INT(11)
                                                                                                                   assets DECIMAL(12,2)
                                                                                                                   liabilities DECIMAL(12,2)




   Technology used, storyboards, database design, input/output design, etc.
        leads_manager                     leads_teamleader                       leads_marketer              leads_processingrep
extenduser_ptr_id INT(11)          extenduser_ptr_id INT(11)            extenduser_ptr_id INT(11)         extenduser_ptr_id INT(11)
manager_type VARCHAR(50)           commission_rate DECIMAL(5,2)         commission_rate DECIMAL(5,2)      manager_id INT(11)
                                                                        team_id INT(11)                   sales_company_id INT(11)




                                                                                                       birdie.reports
                                               reports_report
                                          id INT(11)
PYTHON VERSION 2.5
Object-oriented core language
DJANGO VERSION 1.1
Model-template-view web application
           framework
MYSQL VERSION 5
Production relational database
    management system
CREATE NEW LEAD STORYBOARD STEP 1
CREATE NEW LEAD STORYBOARD STEP 2
CREATE NEW LEAD STORYBOARD STEP 3
CREATE NEW LEAD STORYBOARD STEP 4
CREATE NEW LEAD STORYBOARD STEP 5
CREATE NEW LEAD STORYBOARD STEP 6
CHANGE LEAD STATUS STORYBOARD STEP 1
CHANGE LEAD STATUS STORYBOARD STEP 2
CHANGE LEAD STATUS STORYBOARD STEP 3
CHANGE LEAD STATUS STORYBOARD STEP 4
CHANGE LEAD STATUS STORYBOARD STEP 5
GENERATE MARKETER REPORT STORYBOARD STEP 1
GENERATE MARKETER REPORT STORYBOARD STEP 2
GENERATE MARKETER REPORT STORYBOARD STEP 3
GENERATE MARKETER REPORT STORYBOARD STEP 4
GENERATE MARKETER REPORT STORYBOARD STEP 5
Entity Relationship Diagram                                                                                                                                                                         Benjamin Kreeger


                                                                         leads_leadsource
                                                                 id INT(11)                                                                  leads_product                                   auth_user_user_permissions           auth_permission         auth_group_permissions
                                                                 company_name VARCHAR(100)                                             id INT(11)                                           id INT(11)                      id INT(11)                  id INT(11)
                                                                 address VARCHAR(100)                                                  name VARCHAR(100)                                    user_id INT(11)                 name VARCHAR(50)            group_id INT(11)
                                                                 city VARCHAR(60)                                                      source_id INT(11)                                    permission_id INT(11)           content_type_id INT(11)     permission_id INT(11)
                                        leads_promotion          state VARCHAR(2)                                                      price DECIMAL(12,2)                                                                  codename VARCHAR(100)
                                  id INT(11)                     zip_code VARCHAR(10)                                                  description LONGTEXT
                                  name VARCHAR(100)              country VARCHAR(50)                                                   picture VARCHAR(100)
                                  source_id INT(11)              phone VARCHAR(20)
                                                                                                             leads_orderdetails
                                                                                                         id INT(11)
                                                                                                         order_id INT(11)                                                                              auth_user                 auth_user_groups               auth_group
                                                                                                         product_id INT(11)                                                                  id INT(11)                     id INT(11)                  id INT(11)
                                                                                                         quantity DECIMAL(12,2)                                                              username VARCHAR(30)           user_id INT(11)             name VARCHAR(80)
                                                                                                                                                                                             first_name VARCHAR(30)          group_id INT(11)
                                                                                                                                                                                             last_name VARCHAR(30)
                                                                                                                                                                                             email VARCHAR(75)
                                                                                                                                                                                             password VARCHAR(128)
                                                                                        leads_lead                                                                                           is_staff TINYINT(1)
                                                                               id INT(11)                                                          leads_order                               is_active TINYINT(1)
                                                                               create_date DATETIME                                                                                                                                auth_message
                                         leads_salescompany                                                                             id INT(11)                                           is_superuser TINYINT(1)
                                                                               expire_date DATETIME                                                                                                                         id INT(11)
                                  id INT(11)                                                                                            date DATETIME                                        last_login DATETIME
                                                                               customer_id INT(11)                                                                                                                          user_id INT(11)
                                  company_name VARCHAR(100)                                                                             customer_id INT(11)                                  date_joined DATETIME
                                                                               source_id INT(11)                                                                                                                            message LONGTEXT
                                  address VARCHAR(100)                                                                                  total DECIMAL(12,2)
                                                                               promotion_id INT(11)
                                  city VARCHAR(60)                                                                                      payment_method VARCHAR(10)
                                                                               pipeline VARCHAR(2)
                                  state VARCHAR(2)                                                                                      due_date DATETIME
                                                                                                                                                                                                                                                                 django.auth
                                                                               sales_company_id INT(11)
                                  zip_code VARCHAR(10)                                                                                  pay_date DATETIME
                                                                               division_id INT(11)
                                  country VARCHAR(50)
                                                                               team_id INT(11)
                                  phone VARCHAR(20)
                                                                               marketer_id INT(11)
                                  is_internal TINYINT(1)
                                                                               status VARCHAR(8)
                                  manager_id INT(11)




DATABASE DESIGN
                                                                               change_date DATETIME
                                                                               detail LONGTEXT
                                                                                                                                                                                                                               django_content_type          django_admin_log
                                                                                                                                                                                            other django
                                                                                                                                         leads_person                                                                      id INT(11)                 id INT(11)
                                                                                                                                                                                            framework
                                                                                                                                  id INT(11)                                                                               name VARCHAR(100)          action_time DATETIME
                                                  leads_division
                                                                                                                                                                                            tables
                                                                                                                                  first_name VARCHAR(50)                                                                    app_label VARCHAR(100)     user_id INT(11)
                                             id INT(11)
                                                                                                     leads_team                   last_name VARCHAR(50)                                                                    model VARCHAR(100)         content_type_id INT(11)
                                             name VARCHAR(50)
                                                                                               id INT(11)                         address VARCHAR(100)                                                                                                object_id LONGTEXT
                                             company_id INT(11)
                                                                                               division_id INT(11)                city VARCHAR(60)                                                                                                    object_repr VARCHAR(200)
                                             manager_id INT(11)
                                                                                               teamleader_id INT(11)              state VARCHAR(2)                                                                                                    action_flag SMALLINT(5)
                                                                                                                                                                                                      django_site               django_session
                                                                                                                                  zip_code VARCHAR(10)                                                                                                change_message LONGTEXT
                                                                                                                                                                                              id INT(11)                  session_key VARCHAR(40)
                                                                                                                                  country VARCHAR(50)
                                                                                                                                                                                              domain VARCHAR(100)         session_data LONGTEXT
                                                                                                                                  phone VARCHAR(20)
                                                                                                                                                                                              name VARCHAR(50)            expire_date DATETIME




  Entity relationship diagram                                      leads_extenduser
                                                                                                                                                                         leads_customer
                                                                 person_ptr_id INT(11)
                                                                                                                                                               person_ptr_id INT(11)
                                                                 user_id INT(11)
                                                                                                                                                               age INT(11)
                                                                                                                                                               marital_status VARCHAR(20)
                                                                                                                                                               num_children INT(11)
                                                                                                                                                               assets DECIMAL(12,2)
                                                                                                                                                               liabilities DECIMAL(12,2)


                                          leads_manager                       leads_teamleader                           leads_marketer               leads_processingrep
                                  extenduser_ptr_id INT(11)            extenduser_ptr_id INT(11)                extenduser_ptr_id INT(11)          extenduser_ptr_id INT(11)
                                  manager_type VARCHAR(50)             commission_rate DECIMAL(5,2)             commission_rate DECIMAL(5,2)       manager_id INT(11)
                                                                                                                team_id INT(11)                    sales_company_id INT(11)




                                                                                                                                               birdie.reports
                                                                                     reports_report
                                                                               id INT(11)
                                                                               name VARCHAR(255)
                                                                               description LONGTEXT
                                                                               created_at DATETIME
                                                                               created_by_id INT(11)
                                                                               start_date DATE
                                                                               end_date DATE




                                    reports_companyreport             reports_divisionreport             reports_teamreport           reports_marketerreport
                                report_ptr_id INT(11)              report_ptr_id INT(11)              report_ptr_id INT(11)       report_ptr_id INT(11)
                                sales_company_id INT(11)           division_id INT(11)                team_id INT(11)             marketer_id INT(11)
SYSTEM CONTROLS
Error trapping, validation, and referential integrity
ERROR TRAPPING MEASURES

    Django’s model-layer API handles much of database-access legwork
•

    Most method calls to view layer raise HTTP404 if row(s) not found in database
•

        get_object_or_404(Model, criteria)
    •

        get_list_or_404(Model, criteria)
    •

    Other measures: Python try/except blocks, explicit raise Http404 calls
•
DATA VALIDATION THROUGH DJANGO FORMS API

    Forms either abstract fields from
•
    database or be standalone fields with
    like-model-field names

    Forms can ‘clean’ POST data, intelligently
•
    turning text into Python objects
    (unicode strings, integers, decimals)

    Validation rules are set in form classes;
•
    cleaning form data validates it (any
    errors are shown to user in form)
DATABASE INTEGRITY

    Database tables by field designed via Django models layer
•

        Includes specifying all foreign keys (one-to-one, one-to-many, many-to-many
    •
        relationships)

        manage.py syncdb establishes database tables from model classes
    •


    Integrity rules carried over into MySQL, SQLite, PostgreSQL, etc.
•

    Any rows with foreign keys referencing deleted rows are also deleted
•
HELP SYSTEM
On-page assistance included on all forms
  Elaborates on form validation rules
SYSTEM DEMONSTRATION
       Birdie at work
FINAL QUESTIONS
    I wanna hear ‘em

More Related Content

What's hot

Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...SlideTeam.net
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...SlideTeam.net
 
Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...SlideTeam.net
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...SlideTeam.net
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...SlideTeam.net
 
Rhiem Company Outline Uk Li Q1 2012
Rhiem Company Outline Uk Li Q1 2012Rhiem Company Outline Uk Li Q1 2012
Rhiem Company Outline Uk Li Q1 2012Edward Witlox
 
Profitability analysis of dabur nepal
Profitability analysis of dabur nepalProfitability analysis of dabur nepal
Profitability analysis of dabur nepalChhitiz Shrestha
 
Social CRM: Respect the Classics
Social CRM: Respect the ClassicsSocial CRM: Respect the Classics
Social CRM: Respect the ClassicsEric Swayne
 

What's hot (10)

Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...
 
Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...Branding positioning identification communication internal external design 5 ...
Branding positioning identification communication internal external design 5 ...
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...
 
Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...Branding positioning identification communication internal external style des...
Branding positioning identification communication internal external style des...
 
ADIT D
ADIT DADIT D
ADIT D
 
Rhiem Company Outline Uk Li Q1 2012
Rhiem Company Outline Uk Li Q1 2012Rhiem Company Outline Uk Li Q1 2012
Rhiem Company Outline Uk Li Q1 2012
 
Jeff Martin\'s Portfolio
Jeff Martin\'s PortfolioJeff Martin\'s Portfolio
Jeff Martin\'s Portfolio
 
Profitability analysis of dabur nepal
Profitability analysis of dabur nepalProfitability analysis of dabur nepal
Profitability analysis of dabur nepal
 
Social CRM: Respect the Classics
Social CRM: Respect the ClassicsSocial CRM: Respect the Classics
Social CRM: Respect the Classics
 

Similar to Birdie Design Presentation

Marketing organization chart
Marketing organization chartMarketing organization chart
Marketing organization chartAnand Kishore
 
Business Patterns presentation @ Oredev 2012
Business Patterns presentation @ Oredev 2012Business Patterns presentation @ Oredev 2012
Business Patterns presentation @ Oredev 2012allan kelly
 
What Business Are You Really In (4 21 09)
What Business Are You Really In (4 21 09)What Business Are You Really In (4 21 09)
What Business Are You Really In (4 21 09)Jeryl Schreiner
 
Branding for the Industrial Markets
Branding for the Industrial MarketsBranding for the Industrial Markets
Branding for the Industrial MarketsJuliann Grant
 
The Product Management Value Chain
The Product Management Value ChainThe Product Management Value Chain
The Product Management Value Chainktrexler
 
Making B2B Lead Gen Social
Making B2B Lead Gen SocialMaking B2B Lead Gen Social
Making B2B Lead Gen SocialLeahanne Hobson
 
Sigis jermolovicius chasing code quality in huge multi location team project
Sigis jermolovicius chasing code quality in huge multi location team projectSigis jermolovicius chasing code quality in huge multi location team project
Sigis jermolovicius chasing code quality in huge multi location team projectAgile Lietuva
 
Chasing code quality in huge multi-location team project
Chasing code quality in huge multi-location team projectChasing code quality in huge multi-location team project
Chasing code quality in huge multi-location team projectAgile Lietuva
 
Presentatie klantendag Redwood | Runmyjobs
Presentatie klantendag Redwood | RunmyjobsPresentatie klantendag Redwood | Runmyjobs
Presentatie klantendag Redwood | Runmyjobsc)solutions
 
Tycoon Medical Final Asia Practicum
Tycoon Medical Final Asia PracticumTycoon Medical Final Asia Practicum
Tycoon Medical Final Asia PracticumOwen Fayer
 
Vijay kusurkar value chain stratagem
Vijay kusurkar value chain stratagemVijay kusurkar value chain stratagem
Vijay kusurkar value chain stratagemECR Community
 
Effective Sales Lead Generation (Forte Consultancy Group)
Effective Sales Lead Generation (Forte Consultancy Group)Effective Sales Lead Generation (Forte Consultancy Group)
Effective Sales Lead Generation (Forte Consultancy Group)Berkin Ozmen
 

Similar to Birdie Design Presentation (20)

Marketing organization chart
Marketing organization chartMarketing organization chart
Marketing organization chart
 
Business Patterns presentation @ Oredev 2012
Business Patterns presentation @ Oredev 2012Business Patterns presentation @ Oredev 2012
Business Patterns presentation @ Oredev 2012
 
What Business Are You Really In (4 21 09)
What Business Are You Really In (4 21 09)What Business Are You Really In (4 21 09)
What Business Are You Really In (4 21 09)
 
Pinkesh shah 2
Pinkesh shah 2Pinkesh shah 2
Pinkesh shah 2
 
Boost3 / Investor Pitchbook
Boost3 / Investor PitchbookBoost3 / Investor Pitchbook
Boost3 / Investor Pitchbook
 
Branding for the Industrial Markets
Branding for the Industrial MarketsBranding for the Industrial Markets
Branding for the Industrial Markets
 
Web presence matrix
Web presence matrixWeb presence matrix
Web presence matrix
 
The Product Management Value Chain
The Product Management Value ChainThe Product Management Value Chain
The Product Management Value Chain
 
Making B2B Lead Gen Social
Making B2B Lead Gen SocialMaking B2B Lead Gen Social
Making B2B Lead Gen Social
 
Sigis jermolovicius chasing code quality in huge multi location team project
Sigis jermolovicius chasing code quality in huge multi location team projectSigis jermolovicius chasing code quality in huge multi location team project
Sigis jermolovicius chasing code quality in huge multi location team project
 
Chasing code quality in huge multi-location team project
Chasing code quality in huge multi-location team projectChasing code quality in huge multi-location team project
Chasing code quality in huge multi-location team project
 
Presentatie klantendag Redwood | Runmyjobs
Presentatie klantendag Redwood | RunmyjobsPresentatie klantendag Redwood | Runmyjobs
Presentatie klantendag Redwood | Runmyjobs
 
Tycoon Medical Final Asia Practicum
Tycoon Medical Final Asia PracticumTycoon Medical Final Asia Practicum
Tycoon Medical Final Asia Practicum
 
Zigzag Marketing Product Management Framework
Zigzag Marketing Product Management FrameworkZigzag Marketing Product Management Framework
Zigzag Marketing Product Management Framework
 
Visionary Marketing
Visionary MarketingVisionary Marketing
Visionary Marketing
 
Vijay kusurkar value chain stratagem
Vijay kusurkar value chain stratagemVijay kusurkar value chain stratagem
Vijay kusurkar value chain stratagem
 
Lodestone Gaining More From Your Erp
Lodestone Gaining More From Your ErpLodestone Gaining More From Your Erp
Lodestone Gaining More From Your Erp
 
Effective Sales Lead Generation (Forte Consultancy Group)
Effective Sales Lead Generation (Forte Consultancy Group)Effective Sales Lead Generation (Forte Consultancy Group)
Effective Sales Lead Generation (Forte Consultancy Group)
 
GTM360 Overview
GTM360 OverviewGTM360 Overview
GTM360 Overview
 
Energize 2013 slides
Energize 2013 slidesEnergize 2013 slides
Energize 2013 slides
 

More from Benjamin Kreeger

More from Benjamin Kreeger (17)

Wanadi, the creator
Wanadi, the creatorWanadi, the creator
Wanadi, the creator
 
Online Teaching Tools in the Classroom
Online Teaching Tools in the ClassroomOnline Teaching Tools in the Classroom
Online Teaching Tools in the Classroom
 
Birdie Planning Report
Birdie Planning ReportBirdie Planning Report
Birdie Planning Report
 
Birdie Design Report
Birdie Design ReportBirdie Design Report
Birdie Design Report
 
Etcetera: Checkout Workflow
Etcetera: Checkout WorkflowEtcetera: Checkout Workflow
Etcetera: Checkout Workflow
 
Etcetera Progress Report (2009-Dec-01)
Etcetera Progress Report (2009-Dec-01)Etcetera Progress Report (2009-Dec-01)
Etcetera Progress Report (2009-Dec-01)
 
Living and Learning in the Cloud: Online Services and Freeware
Living and Learning in the Cloud: Online Services and FreewareLiving and Learning in the Cloud: Online Services and Freeware
Living and Learning in the Cloud: Online Services and Freeware
 
Podcasting (Fall 2009)
Podcasting (Fall 2009)Podcasting (Fall 2009)
Podcasting (Fall 2009)
 
Being a Mac in a Windows World
Being a Mac in a Windows WorldBeing a Mac in a Windows World
Being a Mac in a Windows World
 
Backup & File Management
Backup & File ManagementBackup & File Management
Backup & File Management
 
Mac OS X Tips & Tricks
Mac OS X Tips & TricksMac OS X Tips & Tricks
Mac OS X Tips & Tricks
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
 
Podcasting II
Podcasting IIPodcasting II
Podcasting II
 
Useful Freeware
Useful FreewareUseful Freeware
Useful Freeware
 
HDCP
HDCPHDCP
HDCP
 
Birdie Analysis Report
Birdie Analysis ReportBirdie Analysis Report
Birdie Analysis Report
 
Birdie Project Proposal
Birdie Project ProposalBirdie Project Proposal
Birdie Project Proposal
 

Recently uploaded

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Birdie Design Presentation

  • 3. COMPANY / SYSTEM BACKGROUND National Marketing Resources / Professional Marketing International • Business development, sales leads, web coaching • Current system, LINKS, is tied to Windows-only desktop clients • New system, Birdie, frees up the user to be on whatever platform they choose (Linux, • Mac, mobile browsers) Implements sales leads tracking, sales company management, report generation •
  • 4. WHAT THE SYSTEM DOES Processing representatives can add leads, lead sources, promotions, company • information Processing reps pass leads on to individual sales companies • Company managers divvy out leads down to divisions, which divvy leads to teams • Teamleaders distribute leads to marketers, who follow up on sales calls with information • about the customer, possibly upgraded lead status Reports can be generated on lead detail, company detail, unit performance, and more •
  • 5. REQUIREMENTS MODELS & MORE Use case diagrams, domain class diagram, and color scheme
  • 6. System Define lead source Create new lead Import external leads USE CASES Define promotion Define marketing campaign Processing Representative Processing Assign leads to Rep lead path Distribute leads to sales company Export lead list Define customer
  • 7. System Distribute leads to sales team Distribute leads to division USE CASES Division Generate lead manager report Managers Generate marketer report Sales manager Generate overall report Sales Assign leads to teamleader marketers
  • 8. System USE CASES Modify lead status Marketers Marketer
  • 9. Domain Class Diagram Benjamin Kreeger LeadSource 1 companyName Product address productName 1 * city productSource * state productPrice Promotion zip productDescription promotionName country productPicture promotionSource phone 1..* 0..1 OrderDetails 0..1 orderID productID qty * * * Lead createDate Order expireDate SalesCompany orderDate customerID companyName DOMAIN CLASS orderCustomerID sourceID address orderTotal promotionID city orderPaymentMethod 1 * 0..1 pipeline state orderDueDate salesCompanyID zip orderPayDate divisionID country 1 * teamID phone * marketerID isInternal DIAGRAM status managerID change_date 1 1 detail 0..1 * * * * Division Person Team divisionName firstName divisionID companyID lastName 0..1 teamLeaderID managerID address * city 1 1 1 1 1 New components and changes are in 1 state zip country phone green 1 0..1 ExtendUser Customer userID age maritalStatus 0..1 0..1 numChildren assets 1 * 0..1 liabilities Manager Team Leader Marketer ProcessingRep managerType commissionRate commissionRate managerID teamID salesCompanyID 1 * * 1 Report name description createdAt createdBy startDate endDate 0..* 0..* 0..* 0..* CompanyReport DivisionReport TeamReport MarketerReport salesCompanyID divisionID teamID marketerID
  • 10. COLOR SCHEME Bronze, brown earth tones with teal selection (and shades of gray)
  • 11. Entity Relationship Diagram Benjamin Kreeger leads_leadsource id INT(11) leads_product auth_user_user_permissions auth_permission auth_group_permissions company_name VARCHAR(100) id INT(11) id INT(11) id INT(11) id INT(11) address VARCHAR(100) name VARCHAR(100) user_id INT(11) name VARCHAR(50) group_id INT(11) city VARCHAR(60) source_id INT(11) permission_id INT(11) content_type_id INT(11) permission_id INT(11) leads_promotion state VARCHAR(2) price DECIMAL(12,2) codename VARCHAR(100) id INT(11) zip_code VARCHAR(10) description LONGTEXT name VARCHAR(100) country VARCHAR(50) picture VARCHAR(100) source_id INT(11) phone VARCHAR(20) leads_orderdetails id INT(11) order_id INT(11) auth_user auth_user_groups auth_group product_id INT(11) id INT(11) id INT(11) id INT(11) quantity DECIMAL(12,2) username VARCHAR(30) user_id INT(11) name VARCHAR(80) first_name VARCHAR(30) group_id INT(11) last_name VARCHAR(30) email VARCHAR(75) password VARCHAR(128) leads_lead is_staff TINYINT(1) id INT(11) leads_order is_active TINYINT(1) create_date DATETIME auth_message leads_salescompany id INT(11) is_superuser TINYINT(1) expire_date DATETIME id INT(11) id INT(11) date DATETIME last_login DATETIME customer_id INT(11) user_id INT(11) company_name VARCHAR(100) customer_id INT(11) date_joined DATETIME source_id INT(11) message LONGTEXT address VARCHAR(100) total DECIMAL(12,2) promotion_id INT(11) city VARCHAR(60) payment_method VARCHAR(10) pipeline VARCHAR(2) state VARCHAR(2) due_date DATETIME django.auth sales_company_id INT(11) zip_code VARCHAR(10) pay_date DATETIME division_id INT(11) country VARCHAR(50) team_id INT(11) phone VARCHAR(20) marketer_id INT(11) is_internal TINYINT(1) status VARCHAR(8) manager_id INT(11) change_date DATETIME detail LONGTEXT django_content_type django_admin_log other django leads_person id INT(11) id INT(11) framework id INT(11) name VARCHAR(100) action_time DATETIME leads_division tables first_name VARCHAR(50) app_label VARCHAR(100) user_id INT(11) id INT(11) leads_team last_name VARCHAR(50) model VARCHAR(100) content_type_id INT(11) name VARCHAR(50) id INT(11) address VARCHAR(100) object_id LONGTEXT company_id INT(11) division_id INT(11) city VARCHAR(60) object_repr VARCHAR(200) manager_id INT(11) teamleader_id INT(11) state VARCHAR(2) action_flag SMALLINT(5) django_site django_session zip_code VARCHAR(10) change_message LONGTEXT id INT(11) session_key VARCHAR(40) country VARCHAR(50) domain VARCHAR(100) session_data LONGTEXT phone VARCHAR(20) name VARCHAR(50) expire_date DATETIME leads_extenduser DETAIL DESIGN DOCUMENTATION leads_customer person_ptr_id INT(11) person_ptr_id INT(11) user_id INT(11) age INT(11) marital_status VARCHAR(20) num_children INT(11) assets DECIMAL(12,2) liabilities DECIMAL(12,2) Technology used, storyboards, database design, input/output design, etc. leads_manager leads_teamleader leads_marketer leads_processingrep extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) manager_type VARCHAR(50) commission_rate DECIMAL(5,2) commission_rate DECIMAL(5,2) manager_id INT(11) team_id INT(11) sales_company_id INT(11) birdie.reports reports_report id INT(11)
  • 13. DJANGO VERSION 1.1 Model-template-view web application framework
  • 14. MYSQL VERSION 5 Production relational database management system
  • 15. CREATE NEW LEAD STORYBOARD STEP 1
  • 16. CREATE NEW LEAD STORYBOARD STEP 2
  • 17. CREATE NEW LEAD STORYBOARD STEP 3
  • 18. CREATE NEW LEAD STORYBOARD STEP 4
  • 19. CREATE NEW LEAD STORYBOARD STEP 5
  • 20. CREATE NEW LEAD STORYBOARD STEP 6
  • 21. CHANGE LEAD STATUS STORYBOARD STEP 1
  • 22. CHANGE LEAD STATUS STORYBOARD STEP 2
  • 23. CHANGE LEAD STATUS STORYBOARD STEP 3
  • 24. CHANGE LEAD STATUS STORYBOARD STEP 4
  • 25. CHANGE LEAD STATUS STORYBOARD STEP 5
  • 26. GENERATE MARKETER REPORT STORYBOARD STEP 1
  • 27. GENERATE MARKETER REPORT STORYBOARD STEP 2
  • 28. GENERATE MARKETER REPORT STORYBOARD STEP 3
  • 29. GENERATE MARKETER REPORT STORYBOARD STEP 4
  • 30. GENERATE MARKETER REPORT STORYBOARD STEP 5
  • 31. Entity Relationship Diagram Benjamin Kreeger leads_leadsource id INT(11) leads_product auth_user_user_permissions auth_permission auth_group_permissions company_name VARCHAR(100) id INT(11) id INT(11) id INT(11) id INT(11) address VARCHAR(100) name VARCHAR(100) user_id INT(11) name VARCHAR(50) group_id INT(11) city VARCHAR(60) source_id INT(11) permission_id INT(11) content_type_id INT(11) permission_id INT(11) leads_promotion state VARCHAR(2) price DECIMAL(12,2) codename VARCHAR(100) id INT(11) zip_code VARCHAR(10) description LONGTEXT name VARCHAR(100) country VARCHAR(50) picture VARCHAR(100) source_id INT(11) phone VARCHAR(20) leads_orderdetails id INT(11) order_id INT(11) auth_user auth_user_groups auth_group product_id INT(11) id INT(11) id INT(11) id INT(11) quantity DECIMAL(12,2) username VARCHAR(30) user_id INT(11) name VARCHAR(80) first_name VARCHAR(30) group_id INT(11) last_name VARCHAR(30) email VARCHAR(75) password VARCHAR(128) leads_lead is_staff TINYINT(1) id INT(11) leads_order is_active TINYINT(1) create_date DATETIME auth_message leads_salescompany id INT(11) is_superuser TINYINT(1) expire_date DATETIME id INT(11) id INT(11) date DATETIME last_login DATETIME customer_id INT(11) user_id INT(11) company_name VARCHAR(100) customer_id INT(11) date_joined DATETIME source_id INT(11) message LONGTEXT address VARCHAR(100) total DECIMAL(12,2) promotion_id INT(11) city VARCHAR(60) payment_method VARCHAR(10) pipeline VARCHAR(2) state VARCHAR(2) due_date DATETIME django.auth sales_company_id INT(11) zip_code VARCHAR(10) pay_date DATETIME division_id INT(11) country VARCHAR(50) team_id INT(11) phone VARCHAR(20) marketer_id INT(11) is_internal TINYINT(1) status VARCHAR(8) manager_id INT(11) DATABASE DESIGN change_date DATETIME detail LONGTEXT django_content_type django_admin_log other django leads_person id INT(11) id INT(11) framework id INT(11) name VARCHAR(100) action_time DATETIME leads_division tables first_name VARCHAR(50) app_label VARCHAR(100) user_id INT(11) id INT(11) leads_team last_name VARCHAR(50) model VARCHAR(100) content_type_id INT(11) name VARCHAR(50) id INT(11) address VARCHAR(100) object_id LONGTEXT company_id INT(11) division_id INT(11) city VARCHAR(60) object_repr VARCHAR(200) manager_id INT(11) teamleader_id INT(11) state VARCHAR(2) action_flag SMALLINT(5) django_site django_session zip_code VARCHAR(10) change_message LONGTEXT id INT(11) session_key VARCHAR(40) country VARCHAR(50) domain VARCHAR(100) session_data LONGTEXT phone VARCHAR(20) name VARCHAR(50) expire_date DATETIME Entity relationship diagram leads_extenduser leads_customer person_ptr_id INT(11) person_ptr_id INT(11) user_id INT(11) age INT(11) marital_status VARCHAR(20) num_children INT(11) assets DECIMAL(12,2) liabilities DECIMAL(12,2) leads_manager leads_teamleader leads_marketer leads_processingrep extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) extenduser_ptr_id INT(11) manager_type VARCHAR(50) commission_rate DECIMAL(5,2) commission_rate DECIMAL(5,2) manager_id INT(11) team_id INT(11) sales_company_id INT(11) birdie.reports reports_report id INT(11) name VARCHAR(255) description LONGTEXT created_at DATETIME created_by_id INT(11) start_date DATE end_date DATE reports_companyreport reports_divisionreport reports_teamreport reports_marketerreport report_ptr_id INT(11) report_ptr_id INT(11) report_ptr_id INT(11) report_ptr_id INT(11) sales_company_id INT(11) division_id INT(11) team_id INT(11) marketer_id INT(11)
  • 32. SYSTEM CONTROLS Error trapping, validation, and referential integrity
  • 33. ERROR TRAPPING MEASURES Django’s model-layer API handles much of database-access legwork • Most method calls to view layer raise HTTP404 if row(s) not found in database • get_object_or_404(Model, criteria) • get_list_or_404(Model, criteria) • Other measures: Python try/except blocks, explicit raise Http404 calls •
  • 34. DATA VALIDATION THROUGH DJANGO FORMS API Forms either abstract fields from • database or be standalone fields with like-model-field names Forms can ‘clean’ POST data, intelligently • turning text into Python objects (unicode strings, integers, decimals) Validation rules are set in form classes; • cleaning form data validates it (any errors are shown to user in form)
  • 35. DATABASE INTEGRITY Database tables by field designed via Django models layer • Includes specifying all foreign keys (one-to-one, one-to-many, many-to-many • relationships) manage.py syncdb establishes database tables from model classes • Integrity rules carried over into MySQL, SQLite, PostgreSQL, etc. • Any rows with foreign keys referencing deleted rows are also deleted •
  • 36. HELP SYSTEM On-page assistance included on all forms Elaborates on form validation rules
  • 37. SYSTEM DEMONSTRATION Birdie at work
  • 38. FINAL QUESTIONS I wanna hear ‘em

Editor's Notes