Friday, December 27, 2019

Thank You's

1.  Equilend - for being loyal
2.  StackOverflow - for helping me when I was truly stuck (and fuck those guys who downvoted my questions when I needed help)
3.  Mom. - because you're mom.  And you moved and married just because it was the best thing for your children and your family.  I know the sacrifice you made.

Tuesday, December 24, 2019

Send Email Address and Cell Phone Workflow

Confirm Email Address (Send):

1.  Send email to API/Lambda file
2.  Turn email address into SHA256 Hash
3.  Pull the email hash and the conf code hash
4.  Turn the email and conf code into a url
5.  Send the email with the url code
6.  Wire into webpage

Confirm Email Address (Receive):

1.  Get the link (API Parameters)
2.  Mark Promoter Email Confirmation as True
3.  Send email that says, email confirmed.
-- if the email and the cell phone number were confirmed send "Congrats.  Confirmed" email.
-- otherwise say, email is confirmed.  Please confirm cell number.
4.  Add Check for both emailConf and cellConf. If both True send email.  If false don't send email. (today - 1/8/2019)

Cell Phone Workflow:

1.  Build page that allows you to confirm cell number (Website)
(today - 1/13/2019) - In Progress -- 1/15/2020 Done
2.   Send code to the cell number (Lambda Function 1)
(today - 1/9/2019) - In Progress
3.  Enter cell phone number and conf. code (Lambda Function 2)
(today - 1/10/2019) - 1/15/2020 Done
4.  Afterward send confirmation email (tomorrow - 1/10/2019) - 1/15/2020 Done
5.  Build Cell Phone Confirmation Page (tomorrow - 1/10/2019) - 1/15/2020 Done
6.  Wire Cell Phone Confirmation Page (tomorrow - 1/10/2019) - 1/15/2020 Done
7.  Wire Attempt Logging Code -- Attach to Fail (tomorrow - 1/16/2020) - Actual 1/19/2020

Add Promoter Login Page:

1.  Wire Page - Actual 1/19/2020
2.  Build Lambda Object
  • Confirm password
  • Create hashed key (ip address + email address + time stamp) 
  • Place key into database with entrance time and exit time (Work Done) Done On: 2/4/2020
  • Place hash key into a cookie (not done yet and not tested yet) - (Next)
    Done On: 2/4/2020
  • Increment Wrong Logins (Work Done)
    Done On: 2/4/2020
  • Too Many Wrong Logins - Lock out (Work Done)
    Done On: 2/4/2020
  • Send Authentication Code (:D On same page) (Work Done)
    Done On: 2/4/2020
3.  Build Change Password Framework
4.  Wire Change Password Page
5.  Build Lambda Change Password Page
6.  Add API Page for Email link to click

Add Show Workflow (tomorrow - 1/10/2019)

1.  Add Venue + Add Showtime
  • Build HTML Framework
    • City (Drop Down)
    • Venue Names (Drop Down)
    • Show Time
      • Hours
      • Minutes
      • AM/PM
      • Timezone
    • Date Picker
    • Price
    • Comedians
    • Show Title
    • PayPal Payment Address
1B.  Wire the page with Javascript 
  • Wire Venue Drop Down
  • Check Show Date
  • Check that the Show Date is More than five days away
  • Check the price of the show (Regex)
    • Check that the price is greater than 15 dollars
  • Check that Show Title is there
  • If Headliner box is checked then change the place holder
  • If the Feature box is checked then change the place holder
  • Check that PayPal email address
    • Check that PayPal email address is an address
    • Check that it's a valid PayPal email address (Can't be done)
  • Debug Javascript
  • Wire Submit Button 
    • Submit it to the DB.  
1C.  Write the Backend Piece
  • Write the data to a separate table (or set of tables)
  • Send the booker for that venue an email
    • I know this Promoter and I approve of this show
    • I know this Promoter and I don't approve of this show
    • I don't know this Promoter and  I approve of this show
    • I don't know this Promoter and I don't approve of this show
    • I know this Promoter, however, this show needs some changes
  • Send the appropriate email based on the response to the Promoter
  • Send the appropriate email to me for final approval
Add Show Editing Workflow 

1.  Add Venue + Add Showtime Changes
  • Build HTML Framework
    • Current Shows That Haven't Been Done Yet (Drop Down)
    • Venue Names (Text Field - Can't be changed -- the show must be cancelled)
    • Show Time
      • Hours
      • Minutes
      • AM/PM
      • Timezone
    • Date Picker
    • Price
    • Comedians
    • Show Title
    • Cancel Button (48 Hours in Advance and Booker Will Be Notified and Must Approve)
    • PayPal Payment Address
    • 2 Factor Code
    • ReCaptcha
2.  After all the stuff is entered send a confirmation email to the owner of the venue/booker

Tomorrow: 3/9/2020
3.  Once Authorized the show is confirmed.
4.  Add Email to Me to confirm show again before it appears on the site

Finish The Add Show Python Script

                #Step 1B: send an email to the site owner (me) ...
                #Step 1C: mark the show as booker approved
                #Step 1D: send the promoter an email and tell them the show is booker approved and is now awaiting site owner approval
                #Step 1E: send the booker the info that the show has been approved. (HTML)

                #Step 1F:  send an email to the site owner (me) ..
                #Step 1G:  mark the show as booker approved AND mark the show as unknown producer
                #Step 1H:  send the promoter an email and tell them the show is booker approved.  Also tell them they're an unknown
                #producer and to please introduce themselves to the booker and is now awaiting site owner approval
                #Step 1I:  write the booker and tell them the show wasn't approved and it's been marked as such and the booker has been
                #notified that they're unknown. (HTML)

                #Step 1J:  mark the show as diapproved
                #Step 1K:  send the promoter an email and tell them the show is NOT booker approved.
                #Step 1L: send the booker a message that it's been disapproved.

                #Step 1M:  mark the show as diapproved AND mark the show as unknown producer
                #Step 1N:  send the promoter an email and tell them the show is NOT booker approved AND that the booker doesn't
                #know them and to please introduce themselves to the booker.
                #Step 1O:  send the booker a message that it's been disapproved (HTML)

            #Step 2:  disable show and send a message that this show has been disabled to the booker and to the promoter.  Too old.

                #Step 2A:  send promoter email that his show was answered and disabled

                #Step 2B:  tell the booker that the show is too old and has been disabled.
                #Contact us if you want us to reinstate it. Email directly.  Send email message (HTML).

        #Step 1B: Send the booker a note that this code is in error and to contact the
        #promoter (HTML).
 


Add Edit Show Page:

Build Page
Build Call Data JS

Add Pay For Tickets Page

1. Design Page
2. Wire Framework
3. Build Lambda Object
4. Talk to PayPal (set up appointment for next week)

Security

Add HTTPS Security Provisions
Lock Down the Lambda Functions
Put all the JS Code into separate files 
Add Recaptcha v3 to main page (cut down on scraping) 
Encrypt SSL connection to PostgresDB

Test Roll Out

Take out all cors-everywhere references
Take out all raw keys and implement in Lambda Functions and Retest
Take out all references to local host (127.0.0.1:8000)
Add Policies that allow only for ElasticBeanstalk to access Lambda functions
Create test Lambda Functions to allow for local development 
Remove all Comments and Console Log
Create Test environment in django local structure

Fixes:

1.  Fix the Stand
2.  Fix NYCC to account for two locations
3.  Write LOL Scraper 

Business:

1.  Get ticket sales permissions
2.  Talk to PayPal
3.  Submit Permissions to Google

Saturday, December 21, 2019