Skip to content

Commit 61bc9f2

Browse files
feat: add new JS curriculum demo projects (#439)
* feat: add palindrome checker project * fix: treat underscore as a special character * feat: add roman numeral converter project * feat: add telephone number validator project * feat: add cash register project * feat: add random quote machine js project * fix: alphabetize port-map.json * feat: replace js random quote machine with pokemon search app * chore: update readme * fix: remove pikachu placeholder image, adjust styling and names, add alt to sprite img * fix: use the pokeapi proxy for the pokemon search app * chore: bump GH action test sleep time to 30 seconds
1 parent d6f1184 commit 61bc9f2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4245
-5
lines changed

.github/workflows/node-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ jobs:
3737
npm run build -- --no-cache
3838
npm start
3939
40-
- name: Sleep For 15 Seconds
41-
run: sleep 15
40+
- name: Sleep For 30 Seconds
41+
run: sleep 30
4242

4343
- name: Run Tests
4444
run: npm run test

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,33 @@
2626
- [Project Description](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage)
2727
- [Example Project](https://personal-portfolio.freecodecamp.rocks/)
2828

29+
## JavaScript Algorithms and Data Structures
30+
31+
- Palindrome Checker
32+
33+
- [Project Description](https://www.freecodecamp.org/learn/2022/javascript-algorithms-and-data-structures/palindrome-checker-project/build-a-palindrome-checker)
34+
- [Example project](https://palindrome-checker.freecodecamp.rocks/)
35+
36+
- Roman Numeral Converter
37+
38+
- [Project Description](https://www.freecodecamp.org/learn/2022/javascript-algorithms-and-data-structures/roman-numeral-converter-project/build-a-roman-numeral-converter)
39+
- [Example Project](https://roman-numeral-converter.freecodecamp.rocks/)
40+
41+
- Telephone Number Validator
42+
43+
- [Project Description](https://www.freecodecamp.org/learn/2022/javascript-algorithms-and-data-structures/telephone-number-validator-project/build-a-telephone-number-validator)
44+
- [Example Project](https://telephone-number-validator.freecodecamp.rocks/)
45+
46+
- Cash Register
47+
48+
- [Project Description](https://www.freecodecamp.org/learn/2022/javascript-algorithms-and-data-structures/cash-register-project/build-a-cash-register)
49+
- [Example Project](https://cash-register.freecodecamp.rocks/)
50+
51+
- Pokémon Search App
52+
53+
- [Project Description](https://www.freecodecamp.org/learn/2022/javascript-algorithms-and-data-structures/pokemon-search-app-project/build-a-pokemon-search-app)
54+
- [Example Project](https://pokemon-search-app.freecodecamp.rocks/)
55+
2956
## Data Visualization
3057

3158
- Bar Chart

apps/cash-register/.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.env
2+
.git
3+
.gitignore
4+
.dockerignore
5+
node_modules
6+
Dockerfile

apps/cash-register/index.html

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<link rel="icon" type="image/png" href="https://cdn.freecodecamp.org/universal/favicons/favicon.ico" />
8+
<title>Cash Register</title>
9+
<link rel="stylesheet" href="./styles.css" />
10+
</head>
11+
12+
<body>
13+
<main>
14+
<img
15+
class="freecodecamp-logo"
16+
src="https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg"
17+
alt="freeCodeCamp Logo"
18+
/>
19+
<h1>Cash Register Project</h1>
20+
<div id="change-due"></div>
21+
<div class="input-div">
22+
<input
23+
placeholder="Customer Cash"
24+
type="number"
25+
id="cash"
26+
class="user-input"
27+
value=""
28+
/>
29+
30+
<button class="check-btn-styles" id="purchase-btn">Purchase</button>
31+
<button class="check-btn-styles" id="new-btn">New item</button>
32+
</div>
33+
34+
<div class="container">
35+
<div class="top-display-screen-container">
36+
<p id="message" class="price-screen">Total: $4.23</p>
37+
<div class="connector"></div>
38+
</div>
39+
<div class="top-register">
40+
<div class="btns-container">
41+
<button class="btn"></button>
42+
<button class="btn"></button>
43+
<button class="btn"></button>
44+
<button class="btn"></button>
45+
<button class="btn"></button>
46+
<button class="btn"></button>
47+
<button class="btn"></button>
48+
<button class="btn"></button>
49+
<button class="btn"></button>
50+
</div>
51+
<div id="cid" class="results">
52+
<p class="change-title">Change in Drawer</p>
53+
<p>Pennies: $1.01</p>
54+
<p>Nickels: $2.05</p>
55+
<p>Dimes: $3.10</p>
56+
<p>Quarters: $4.25</p>
57+
<p>Ones: $90</p>
58+
<p>Fives: $55</p>
59+
<p>Tens: $20</p>
60+
<p>Twenties: $60</p>
61+
<p>Hundreds: $100</p>
62+
</div>
63+
</div>
64+
<div class="bottom-register">
65+
<div class="circle"></div>
66+
</div>
67+
</div>
68+
<main>
69+
<script src="./script.js"></script>
70+
</body>
71+
</html>

0 commit comments

Comments
 (0)