DV,Walmart, API Tests
This commit is contained in:
24
CustomerNotes/HappyCulture.md
Normal file
24
CustomerNotes/HappyCulture.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
## 11/4/2022
|
||||||
|
### Conversation with Justine regarding Contract
|
||||||
|
* They are heavily funded by the Canandian Government
|
||||||
|
* FY is April - March
|
||||||
|
* Gov't was very forgiving during the pandemic
|
||||||
|
* This year, they are not funding any training _unless_ there is a mechanism for immedieate feedback
|
||||||
|
* HC also invested a lot of money on content creation, videographers, etc.
|
||||||
|
* As such, will not be renewing with Northpass.
|
||||||
|
* They need to convert all their stuff into man power, which is less profitable
|
||||||
|
* This is challenging their structure and profitability
|
||||||
|
* They need to prove to clients that within a year, they will reach their ROI for the training
|
||||||
|
|
||||||
|
* What's covered and what isn't by the Government:
|
||||||
|
* 20 people in training
|
||||||
|
* HC charges 12 hours of online training, for example
|
||||||
|
* The only way that is covered if the 20 people are together, watching together, providing feedback to each other.
|
||||||
|
* But that 12 hour could only be charged once. So it would have to be a 12 hour sitting.
|
||||||
|
* Then each 20 would have to book with the instructors for 1:1 coaching
|
||||||
|
* That would be a ton of hours per employee, a huge sunk cost
|
||||||
|
|
||||||
|
* How are they going to change their business model?
|
||||||
|
* 2k per head, minimum 10 people clients
|
||||||
|
* Break that 2k into small chunks and charge x * 10 or x*20 depending on the number of people
|
||||||
|
|
||||||
14
CustomerNotes/WoundCareAdvantage.md
Normal file
14
CustomerNotes/WoundCareAdvantage.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
## 11/4/2022
|
||||||
|
### Analytics for Q4
|
||||||
|
* For individual activities:
|
||||||
|
* The Webhook Sheet, is good to go.
|
||||||
|
* For x center she needs # of courses started, # completed. Filtered MCA?
|
||||||
|
* In numbers not percentages
|
||||||
|
* Centers are Groups
|
||||||
|
* It is hard to pull by group because other people add nurses but don't put them into a specific group.
|
||||||
|
* She needs to add certain people into their group
|
||||||
|
* They have SSO, through Okta
|
||||||
|
* Ideally, she will have people in groups AND with their position
|
||||||
|
* And she needs this for every single group in the school.
|
||||||
|
* If someone isn't active, no need to pull them in.
|
||||||
|
* Her numbers are due in December. She did it manually for Q3. They send out the numbers in the first weeks of the new quarter.
|
||||||
@ -11,52 +11,44 @@ const CARDS = [
|
|||||||
name: "Northpass Admin",
|
name: "Northpass Admin",
|
||||||
icon: "ri-admin-line",
|
icon: "ri-admin-line",
|
||||||
link: "https://app.northpass.com/admin",
|
link: "https://app.northpass.com/admin",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Gmail",
|
name: "Gmail",
|
||||||
icon: "ri-mail-line",
|
icon: "ri-mail-line",
|
||||||
link: "https://gmail.com",
|
link: "https://gmail.com",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Calendar",
|
name: "Calendar",
|
||||||
icon: "ri-calendar-line",
|
icon: "ri-calendar-line",
|
||||||
link: "https://calendar.google.com",
|
link: "https://calendar.google.com",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Hubspot",
|
name: "Hubspot",
|
||||||
icon: "ri-space-ship-line",
|
icon: "ri-space-ship-line",
|
||||||
link: "https://app.hubspot.com/reports-dashboard/392014/view/8969543",
|
link: "https://app.hubspot.com/reports-dashboard/392014/view/8969543",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Jira - SE Board",
|
name: "Jira - SE Board",
|
||||||
icon: "ri-open-arm-fill",
|
icon: "ri-open-arm-fill",
|
||||||
link: "https://northpass.atlassian.net/jira/software/c/projects/ES/boards/1",
|
link: "https://northpass.atlassian.net/jira/software/c/projects/ES/boards/1",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Chili Piper - 30 Min",
|
name: "Chili Piper - 30 Min",
|
||||||
icon: "ri-calendar-2-line",
|
icon: "ri-calendar-2-line",
|
||||||
link: "https://northpass.na.chilipiper.com/book/me/norm-rasmussen",
|
link: "https://northpass.na.chilipiper.com/book/me/norm-rasmussen",
|
||||||
cliprboad: true,
|
clipboard: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Looker - External",
|
name: "Looker - External",
|
||||||
icon: "ri-bubble-chart-line",
|
icon: "ri-bubble-chart-line",
|
||||||
link: "https://northpass.looker.com/folders/4976",
|
link: "https://northpass.looker.com/folders/4976",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Looker - Internal",
|
name: "Looker - Internal",
|
||||||
icon: "ri-bubble-chart-fill",
|
icon: "ri-bubble-chart-fill",
|
||||||
link: "https://northpasshq.looker.com/dashboards/21",
|
link: "https://northpasshq.looker.com/dashboards/21",
|
||||||
clipboard: false,
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
/* -------------------------------------------------------- */
|
/* -------------------------------------------------------- */
|
||||||
|
|
||||||
/******************/
|
/******************/
|
||||||
|
|||||||
@ -12,30 +12,21 @@
|
|||||||
<title>root: ~#</title>
|
<title>root: ~#</title>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
<link
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300&display=swap"
|
||||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
|
rel="stylesheet">
|
||||||
rel="stylesheet"
|
|
||||||
/>
|
|
||||||
<link rel="stylesheet" href="./styles.css" />
|
<link rel="stylesheet" href="./styles.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header class="header">
|
<div class="container">
|
||||||
<div>
|
<header class="header">
|
||||||
<h1>Hello, <span id="userName">Norm!</span>.</h1>
|
<div>
|
||||||
<p>Today is <span id="currentDate">Monday 1, January 2000</span>.</p>
|
<h1>Hello there, <span id="userName">John Doe</span>.</h1>
|
||||||
</div>
|
<p>Today is <span id="currentDate">Monday 1, January 2000</span>.</p>
|
||||||
<p id="currentTime">00:00 PM</p>
|
</div>
|
||||||
</header>
|
<p id="currentTime">00:00 PM</p>
|
||||||
<main id="cardContainer"></main>
|
</header>
|
||||||
|
<main id="cardContainer"></main>
|
||||||
|
</div>
|
||||||
<script src="./app.js"></script>
|
<script src="./app.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
<script>
|
|
||||||
function copyHref(evt) {
|
|
||||||
if (currentCard.href == "https://northpass.na.chilipiper.com/book/me/norm-rasmussen") {
|
|
||||||
evt.preventDefault();
|
|
||||||
navigator.clipboard.writeText(currentCard.href)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|||||||
@ -1,15 +1,48 @@
|
|||||||
import csv
|
import csv
|
||||||
from Levenshtein import distance as lev
|
from Levenshtein import distance as lev
|
||||||
|
import pandas as pd
|
||||||
|
import itertools
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
x = lev("nrasmussen", "mrasmussen")
|
peopleCsv = "/Users/normrasmussen/Downloads/TalkspaceAllLearners.csv"
|
||||||
print(x)
|
|
||||||
|
|
||||||
#def readSpreadsheet():
|
def readCsv(peopleCsv):
|
||||||
# with open('talkspace.csv', rb) as csvfile:
|
people = []
|
||||||
# for line in csvfile.readlines():
|
readExport = pd.read_csv(
|
||||||
# array = line.split(',')
|
peopleCsv,
|
||||||
# emailcol = array[3]
|
usecols=['Learner Full Name', 'Email'],
|
||||||
|
skipinitialspace=True,
|
||||||
|
#index_col=True,
|
||||||
|
)
|
||||||
|
people.extend(readExport['Email'].tolist())
|
||||||
|
startCompare(peopleCsv, people, readExport)
|
||||||
|
|
||||||
#def compareemails():
|
# itertools combinations
|
||||||
# levenshtein.distance(email1, email2)
|
def startCompare(peopleCsv, people, readExport):
|
||||||
|
email1 = []
|
||||||
|
email2 = []
|
||||||
|
for name1, name2, in itertools.combinations(people, 2):
|
||||||
|
#print(name1, name2) - prints all pairs, working so far.
|
||||||
|
distance = lev(name1, name2)
|
||||||
|
#print(distance) - successfully returns numbers
|
||||||
|
if distance > 0 and distance < 2:
|
||||||
|
email1.append(name1)
|
||||||
|
email2.append(name2)
|
||||||
|
writenewColumn(email1, email2, peopleCsv, readExport)
|
||||||
|
|
||||||
|
def writenewColumn(email1, email2, peopleCsv, readExport):
|
||||||
|
df = pd.DataFrame(readExport)
|
||||||
|
print(df)
|
||||||
|
df['Email1'] = pd.Series(email1)
|
||||||
|
df['Email2'] = pd.Series(email2)
|
||||||
|
df.drop_duplicates('Email1', inplace=True)
|
||||||
|
df.drop_duplicates('Email2', inplace=True)
|
||||||
|
df.drop_duplicates(
|
||||||
|
subset=['Email1', 'Email2'])
|
||||||
|
#keep = 'last').reset_index(drop=True)
|
||||||
|
writeLst = df.to_csv(
|
||||||
|
'/Users/normrasmussen/Downloads/TalkspaceDupes_singlechange.csv',
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
readCsv(peopleCsv)
|
||||||
|
|||||||
@ -40,9 +40,11 @@ def copytoDash(latestdownload, currentDash):
|
|||||||
regex="Unname"
|
regex="Unname"
|
||||||
),axis=1,
|
),axis=1,
|
||||||
inplace=True)
|
inplace=True)
|
||||||
|
|
||||||
|
def progressFormat(latestdownload, currentDash, readExport):
|
||||||
|
df = pd.DataFrame(readExport)
|
||||||
readExport['Progress_replace'] = readExport['Progress'].str.replace('%','')
|
readExport['Progress_replace'] = readExport['Progress'].str.replace('%','')
|
||||||
readExport['Progress_replace'] = pd.to_numeric(readExport['Progress_replace'])
|
readExport['Progress_replace'] = pd.to_numeric(readExport['Progress_replace'])
|
||||||
copiedData = readExport.copy()
|
|
||||||
bringtoExcel(latestdownload, currentDash, copiedData)
|
bringtoExcel(latestdownload, currentDash, copiedData)
|
||||||
#cleanitUp(latestdownload, currentDash, copiedData)
|
#cleanitUp(latestdownload, currentDash, copiedData)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user