Skip to content

Commit d5d2f64

Browse files
authored
Merge branch 'main' into lesson_03
2 parents ce0e126 + 0b1bd1c commit d5d2f64

File tree

20 files changed

+712
-5
lines changed

20 files changed

+712
-5
lines changed
1.07 MB
Loading
2.87 MB
Loading
2.86 MB
Loading
3.62 MB
Loading

lesson_01/khaylasaunders/index.html

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Readme in HTML</title>
7+
<link rel="stylesheet" href="stylesheet.css">
8+
9+
10+
</head>
11+
<body class="markdown-body">
12+
<h1><strong>Howdy, I'm Khayla Saunders</strong>&nbsp;🤠👩🏾‍💻</h1>
13+
<h2>Welcome to my Git Crib!</h2>
14+
<p>Feel free to call me Khai! I love having sidebar chit-chats to make connections, laugh, and work hard. Integrity is essential to me. One of my favorite quotes is from the GOAT Lebron "I know we're out [of] the playoff race, but if I'm on the court, I'm going to play how I play, and I play to win. So, I <strong>never will cheat the game </strong>..."</p>
15+
<h3> A few not so essential, basics</h3>
16+
<ul>
17+
<li>I use she/her/hers pronouns</li>
18+
<li>3x Gen Philadelphian! GO BIRDS! (Still learning football...BUT I frequent West Point games to support my little BIG cousin!)</li>
19+
<li>I can get a little southern, I went to undergrad at THE BEST HBCU, Tuskegee University</li>
20+
<li> I earned my Master's in Historic Preservation from the University of Pennsylvania, where I enjoyed breaking traditional norms to save Black Philly Gems...check out my work with the <a href=(https://www.inquirer.com/arts/tanner-house-community-outreach-report-20240910.html)>Tanner House!</a></li>
21+
<li>I need my Mushroom Coffee Daily (Everyday Doze) 🍄 </li>
22+
23+
</ul>
24+
<h4>Work Routine</h4>
25+
<p>I am at my best in the mornings, and Ready to chat about work from 9 a.m. to 6 p.m.</p>
26+
<h4>Best Way to communicate </h4>
27+
<ul>
28+
<li><span>Email:</span> For non-urgent but more extended questions, it helps me process more efficiently and think through the problem better.</li>
29+
<li><span>Google Chat:</span> Best for casual or quick questions and/or conversations.</li>
30+
<li><span>In-person:</span> MY FAVORITE!</li>
31+
</ul>
32+
<blockquote><span>ALSO</span> Feel Free to tap me, even if I have headphones on (I prefer to work with something in the background).
33+
</blockquote>
34+
<h4>How do I like to give feedback? </h4>
35+
<p>I want to meet in person, but if it's easier, I can email you. I'm always taking notes that I can share.</p>
36+
<h4>How do I like to receive feedback? </h4>
37+
<p>In-person is best, but if you don't have any time, email/Google chat is best. </p>
38+
<h4>My Goal for this year </h4>
39+
<p>I want continuous growth in my faith, to become a software engineer, to go on one international trip, and to keep learning to remain a service person.</p>
40+
<h4>Birthday</h4>
41+
<p>March 25th ♈</p>
42+
<h4>Favorite Topics</h4>
43+
<ul class="favorites">
44+
<li> Family ❤️</li>
45+
<li>Art 🖌️</li>
46+
<li> Sephora 🩶</li>
47+
<li>NYT No Recipe-Recipe Cook Book🧑‍🍳</li>
48+
<li>Sports 🏈🏀 (LOYAL TO PHILLY!)</li>
49+
<li>Reality TV junckie 📺 🫣</li>
50+
<li>Reading & learning anything related to Black people 🖤</li>
51+
52+
53+
</ul>
54+
<h4 class="camera">Camera Roll</h4>
55+
<!-- Image placement and caption styling guidance provided by ChatGPT -->
56+
<div class="image-container">
57+
<P>Eagles Fans</P>
58+
<img src="images/EAGLES.jpeg" alt="Family Eagles Watch Day Photo" class="photo">
59+
<p>Family Football Game</p>
60+
<img src="images/TU.jpeg" alt="West Point Game Day Selfie" class="photo">
61+
<p>West Point Game</p>
62+
<img src="images/WP.jpeg" alt="Photo of Khayla (left)and Kody (right) at West Point Game" class="photo">
63+
<p>First Time at the Selma Jubilee</p>
64+
<img src="images/CPCRS.jpg" alt="99th Selma Jubilee Photo" class="photo">
65+
</div>
66+
67+
68+
69+
<footer>
70+
<p>© 2025 Khayla Saunders. All rights reserved.</p>
71+
</footer>
72+
</body>
73+
</html>
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
2+
3+
body{
4+
width: 95%;
5+
margin: 10px;
6+
padding: 10px;
7+
border: 1px solid rgb(214,214,214);
8+
border-radius: 8px;
9+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
10+
Helvetica, Arial, sans-serif, "Segoe UI Emoji", "Apple Color Emoji";
11+
}
12+
h1 {
13+
border-bottom: 1px solid rgb(214,214,214);
14+
width: 100%;
15+
padding-bottom: 10px;
16+
17+
}
18+
h2{
19+
padding-top: 14px;
20+
padding-bottom: 10px;
21+
border-bottom: 1px solid rgb(214,214,214);
22+
}
23+
h3{
24+
border-bottom: 1px solid rgb(214,214,214);
25+
padding-bottom: 10px;
26+
font-size: 24px;
27+
font-weight: 600;
28+
}
29+
30+
li{
31+
line-height: 1.4;
32+
}
33+
h4{
34+
font-size: 20px;
35+
font-weight: 550;
36+
37+
38+
}
39+
span {
40+
color: #000;
41+
font-weight: 550;
42+
43+
}
44+
blockquote{
45+
color: rgb(91, 90, 90);
46+
border-left: 3px solid rgb(202, 204, 220);
47+
padding-left: 13px;
48+
}
49+
blockquote span{
50+
color: rgb(105, 103, 103);
51+
}
52+
.favorites {
53+
font-size: 13px;
54+
line-height: 2.5;
55+
}
56+
.camera {
57+
margin: 12px 0 0;
58+
font-size: 16px;
59+
font-weight: 600;
60+
}
61+
.image-container {
62+
width: 90%;
63+
background-repeat: no-repeat;
64+
display: flex;
65+
flex-direction: column;
66+
}
67+
.image-container p {
68+
font-size: 13px;
69+
font-weight: 550;
70+
margin: 24px 0 16px;
71+
}
72+
/* Styling assistance provided by ChatGPT to ensure responsive images */
73+
74+
img{
75+
max-width: 100%;
76+
height: auto;
77+
display: block;
78+
79+
}
80+
81+

lesson_01/niap/images/IMG_6909.JPG

352 KB
Loading

lesson_01/niap/index.html

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Knowing Nia</title>
7+
<body>
8+
9+
<h1>Knowing Nia</h1>
10+
<p>How to work with Nia P.</p>
11+
12+
<h2>My work hours:</h2>
13+
<p>I am a morning person. Specifically early morning, between 3 & 8am is my usual leisure time. Colleagues should expect to work with me during most business hours, 9am to 6pm. I am available Monday through Friday during those times. I don't prefer to work weekends but I will make an exception on Saturdays. Sundays are strictly forbidden for work.</p>
14+
15+
<h2>What’s the best way to communicate with me?</h2>
16+
<p>I prefer to email on certain topics in order to have a paper trail, but I am open to communication through text message if needed. I prefer in-person meetings over chats and Zoom. It is OK to interrupt when I have headphones on. If I don’t respond try calling me on my cell phone.</p>
17+
18+
<h2>How did my interest in tech start?</h2>
19+
<p>I was interested in code and decided to enroll in a CS50 class with Harvard. I learned a few fundamentals but overall it was too fast-paced. I then did a course at SNHU wanting to major in Cyber Security, but came to the conclusion that I would prefer to learn in person.</p>
20+
21+
<h2>What makes me grumpy?</h2>
22+
<p>I'm usually grumpy when I'm hungry and/or tired.</p>
23+
24+
<h2>How do I like to give feedback?</h2>
25+
<p>I prefer to give feedback in person, this way there is no way to misinterpret my tone and my delivery. Which is easy to do when reading.</p>
26+
27+
<h2>How do I like to receive feedback?</h2>
28+
<p>I prefer feedback in-person because it's more personable but I'm open to email. I would like feedback as frequently as once a week. More if needed.</p>
29+
30+
<h2>One of my goals for the coming year:</h2>
31+
<p>This year one of my goals is to become fluent in code and its terminology. Another goal is to travel out of my country.</p>
32+
33+
<h2>Topics I’m always happy to talk about:</h2>
34+
<p>I'm always happy to talk about my experiences in life. The places I've lived, previous jobs and places I've traveled. I also love talking about my children.</p>
35+
36+
<h2>Other things you might want to know:</h2>
37+
<ul>
38+
<li>My favorite baked good: Chocolate cake</li>
39+
<li>Spouses/partners/kiddos/pets: I have 3 children. (18, 9 & 6)</li>
40+
<li>My birthday: October 21 #TEAM LIBRA</li>
41+
<li>Fruit on pizza? I love pineapples on pizza</li>
42+
<li>My coffee order: Large mocha, iced with 6 creams & 7 sugars</li>
43+
<li>My hometown: Born in Brooklyn, raised in Harlem</li>
44+
<li>My favorite food: Steak cooked medium well</li>
45+
<li>My favorite color: Neutral colors (brown, beige, army green)</li>
46+
<li>My favorite tv shows: Grey's Anatomy, The Resident, The Walking Dead</li>
47+
</ul>
48+
49+
<img src="images/IMG_6909.JPG" alt="test">
50+
51+
</body>
52+
</html>

lesson_03/quiz/quiz.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ quiz:
1010
- $2y$10$1mLxFIqlwiKqivImNbEYE.khunzQLkqDL/40Yj39J6vJA0rLfwDuK
1111
- $2y$10$sIjoP0Jqf5apX3Uk2tdy0.yt..CIanJbbDIA7Y98KtUSNd4iq4oRO
1212
- $2y$10$rMn2M8gyKNbFmH4zTvGwrOlJJ4Jp.CtQBr1nYNTKuMYZ4wXK13bOq
13+
ezraquiz:
14+
- $2y$10$fisFjMsmMwzlj3.PELyBNeupdruYROU00dwq296pg0VfHo05SSkta
15+
- $2y$10$.Z44VoTaxQSdPEx7RatO6OVCw1ff6ohS0kZnCrHEcFnElIgkfjP0u
16+
- $2y$10$nCm/E52FKO7DRo4XbpR2vu.HTyAzsDNNZr2dDfYJyblY1oLuGpnPO
17+
meikostephens:
18+
- $2y$10$AD1YHmrZZivus7DoM91UMuErNnpi63ueluFs7DcSQSrZbXwDycAOi
19+
- $2y$10$KvnxAYKh3A151RyOOFtOv.wfImRzZMgbBgKy3gyLd1uUSSjHaN.4u
20+
- $2y$10$qJDpo1X1kFXRD1M6Kpi8WeKg.a8dgzd8RawXX/3RuMqM82biBc6iK
21+
khaylasaunders:
22+
- $2y$10$GLR8QrgP55Rjj5Ljf/JgQuyemzq2HzMysMbk6W.m0OkBSJbVHBdxC
23+
- $2y$10$PnjXjW6fUxWSQyFZzy8gDunAxwzHjSHbILe3QW5TRimFeXIqs6tym
24+
- $2y$10$JbCDPrCLcwYFlOzPdXsQS.l4DYQgjaW3AeGqs4PDYRUbMDszhK.Gq
1325
computerparts:
1426
- $2y$10$7TUXmYaJlWnRZTzYR..CsefgVcOZJMGt7ctxyAf.G3obBBFEAB342
1527
- $2y$10$0ghuTDegle177q8VjCgQ2OhManKjotYXrcDT3SLyUF8KvI152Wd0.
@@ -18,3 +30,15 @@ quiz:
1830
- $2y$10$hRwUbEYSqz761B.cG79T2uYsYPiEtKu.JgD3Aj7.Mofx27TtX5YHa
1931
- $2y$10$qE/gXxpq62FEGJOJd9MDA.vpDYLTNSsZbqZLpD/0368CKkcNBzW1y
2032
- $2y$10$yI/2BgOyqQfLdHM3ixPE5uLu89su/sHRJB2c5szDFIAYXDhRakS.C
33+
davidadenaike:
34+
- $2y$10$CCxBimjXsumkjTLWRWqibue0VeGel6Idfb/2q3y.mIuKHbkWVTsx6
35+
- $2y$10$/z0Ri9Fg7pOXUFYsOErj.Ol8Hxcy7zwqWezLTMWVtFv6tzvkCrJti
36+
- $2y$10$vQD1oc2OqiE1PkirdjQ/xu3sbrnJjwImPEwvCmP7Uk0Z1PDqQ0Mq.
37+
rmill:
38+
- $2y$10$FquR69q7W4E68TX/SNCB7u8Ri0DOFRDqsUPdGfuyIBjZJRVFkNI.6
39+
- $2y$10$FSWRA7hulVpyVxd8s67Nxuq/1cdmviW24qqoUbqihBf79cR.w9yly
40+
- $2y$10$Qy1IsNsfuJvA384ypL/72uWubUuNbMRp4LD6j/LM0RIH66D/HIjF6
41+
jasonwatson:
42+
- $2y$10$AZtPKyQ.6Bzb.jreO/u.2O3C7XfvYAVpjHzLkuhLVdsX74wc4vXwS
43+
- $2y$10$QbKtEXqpeItigRLAHsn8Qe/06ZpXhKEP1bGPJSFXymsoFw9.04NHy
44+
- $2y$10$tJLScW1OZpOLpVllM65EI.W1QjkSIIBtz.KG8z/s.07RNb7ZWC0um

lesson_03/quiz/src/lesson3.test.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { beforeAll, describe, expect, it } from '@jest/globals';
33
import { Test, TestingModule } from '@nestjs/testing';
44
import {
55
AnswerChoice,
6+
MultipleChoiceQuizQuestion,
67
QuizConfig,
78
QuizQuestion,
89
} from 'codedifferently-instructional';
@@ -76,16 +77,42 @@ describe('Lesson3Test', () => {
7677

7778
const maybeIt = process.env.PROVIDER_NAME ? it : it.skip;
7879

80+
maybeIt(
81+
'checks multiple choice answers are configured correctly',
82+
async () => {
83+
for (const [providerName, questions] of quizQuestionsByProvider) {
84+
for (const question of questions) {
85+
if (!(question instanceof MultipleChoiceQuizQuestion)) {
86+
continue;
87+
}
88+
89+
// Assert that multiple choice questions have at least one correct answer.
90+
const choices = question.getAnswerChoices();
91+
const areAnswersValid = await Promise.all(
92+
[...choices].map(async (choice) => {
93+
return quizConfig.checkAnswer(
94+
providerName,
95+
question.getQuestionNumber(),
96+
choice,
97+
);
98+
}),
99+
);
100+
101+
expect(areAnswersValid.some((isCorrect) => isCorrect)).toBe(true);
102+
}
103+
}
104+
},
105+
);
106+
79107
maybeIt('checks for correct answers', async () => {
80-
const targetProviderName =
81-
process.env.PROVIDER_NAME?.toLowerCase().trim() || '';
108+
const targetProviderName = process.env.PROVIDER_NAME?.trim() || '';
82109

83110
if (!quizQuestionsByProvider.has(targetProviderName)) {
84111
throw new Error(`Unknown provider name: ${targetProviderName}`);
85112
}
86113

87114
for (const [providerName, questions] of quizQuestionsByProvider) {
88-
if (providerName !== process.env.PROVIDER_NAME?.toLowerCase().trim()) {
115+
if (providerName !== process.env.PROVIDER_NAME?.trim()) {
89116
continue;
90117
}
91118
for (const question of questions) {

0 commit comments

Comments
 (0)