freecodecamp / demo-projects Goto Github PK
View Code? Open in Web Editor NEWExample certification projects for our programming curriculum
Home Page: https://www.freecodecamp.org/learn
License: BSD 3-Clause "New" or "Revised" License
Example certification projects for our programming curriculum
Home Page: https://www.freecodecamp.org/learn
License: BSD 3-Clause "New" or "Revised" License
Looking forward for reporting a security issue:
Please report security issues by following our security policy: https://contribute.freecodecamp.org/#/security
Describe the bug
Whenever I hit the "Format with Prettier" shortcut in Visual Studio Code; it seems like the entire file is set as changed rather than just the new lines of code.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Only the lines I added should have been modified via Prettier.
Desktop (please complete the following information):
Additional context
I would rather not add the endpoint for this app before this issue is resolved.
Describe the bug
Demo of the Cash Register project has issue with the floating-point error. Causing it display values with error, and in certain situations, for remaining cash to go below $0
.
To Reproduce
330
and submit.10
and submit.4
and submit.4
and submit.At the step 3. value below status will include the number with clear floating-point error.
After step 5. in register Nickels are below $0
.
Expected behavior
Cash shouldn't go below $0
, or be displayed with more than a dozen of digits after the dot.
Additional context
The least time-absorbing solution is adding toFixed(2)
method to two more places:
More robust option is saying no to floats and changing more internals to not do calculations on floats.
Not sure if the redirect has anything to do with it.
https://25--5-clock.freecodecamp.rocks directs to https://clock.freecodecamp.rocks
Additional context
Forum: https://forum.freecodecamp.org/t/error-on-project-build-a-25-5-clock/652475
When we update applications like automated package updates, we want to run tests and check if they are passing before merging PRs.
Tests could be as minimal as checking the health status endpoints created in #484 to more expanded versions where we run some unit or browser-based testing.
This issue may be split into multiple PRs, with one PR for every project.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
These dependencies are deprecated:
Datasource | Name | Replacement PR? |
---|---|---|
npm | request |
These branches will be created by Renovate only once you click their checkbox below.
actions/checkout
, actions/setup-node
)react
, react-dom
)These updates are currently rate-limited. Click on a checkbox below to force their creation now.
@babel/core
, @babel/preset-env
, @babel/preset-react
, @babel/register
)react
, react-dom
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.
docker-compose.yml
caddy 2.7.6
apps/anonymous-message-board/Dockerfile
node 18-bullseye-slim
apps/build-a-pinterest-clone/Dockerfile
node 18-bullseye-slim
apps/chart-the-stock-market/Dockerfile
node 18-bullseye-slim
apps/exercise-tracker/Dockerfile
node 18-bullseye-slim
apps/image-search-abstraction-layer/Dockerfile
node 18-bullseye-slim
apps/issue-tracker/Dockerfile
node 18-bullseye-slim
apps/manage-a-book-trading-club/Dockerfile
node 18-bullseye-slim
apps/personal-library/Dockerfile
node 18-bullseye-slim
apps/pokeapi-proxy/Dockerfile
node 18-bullseye-slim
apps/stock-price-checker-proxy/Dockerfile
node 18-bullseye-slim
apps/stock-price-checker/Dockerfile
node 18-bullseye-slim
apps/twitch-proxy/Dockerfile
node 18-bullseye-slim
apps/url-shortener-microservice/Dockerfile
node 18-bullseye-slim
apps/voting-app/Dockerfile
node 18-bullseye-slim
apps/weather-proxy/Dockerfile
node 18-bullseye-slim
shared.Dockerfile
node 18-bullseye-slim
.github/workflows/node-ci.yml
actions/checkout v2@ee0669bd1cc54295c223e0bb666b733df41de1c5
actions/setup-node v2@7c12f8017d5436eb855f1ed4399f037a36fbd9e8
apps/25--5-clock/index.html
react 18.2.0
react-dom 18.2.0
apps/bar-chart/index.html
d3 7.8.5
apps/build-a-pinterest-clone/views/index.html
jquery 3.7.1
apps/chart-the-stock-market/public/index.html
socket.io 4.7.2
Chart.js 2.9.4
apps/choropleth-map/index.html
d3 7.8.5
topojson 3.0.2
apps/heat-map/index.html
d3 7.8.5
apps/markdown-previewer/index.html
prism 1.23.0
marked 2.0.3
prism 1.23.0
apps/random-quote-machine/index.html
jquery 3.7.1
jqueryui 1.13.2
apps/scatterplot-graph/index.html
d3 7.8.5
apps/treemap-diagram/index.html
d3 7.8.5
apps/25--5-clock/package.json
dotenv 16.0.0
express 4.19.2
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 23.0.7
@rollup/plugin-node-resolve 15.0.1
@rollup/plugin-replace 5.0.5
@rollup/plugin-terser 0.2.0
rollup 2.79.1
apps/american-british-translator/package.json
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/register 7.23.7
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
apps/anonymous-message-board/package.json
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
helmet 3.23.3
mocha 9.2.2
mongodb 3.7.4
sanitize-html 2.12.1
apps/bar-chart/package.json
dotenv 16.0.0
express 4.19.2
apps/build-a-pinterest-clone/package.json
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 21.1.0
@rollup/plugin-node-resolve 13.3.0
@rollup/plugin-replace 5.0.5
body-parser 1.20.2
connect-mongo 3.2.0
dotenv 14.3.2
express 5.0.0-beta.3
express-session 1.18.0
mongoose 5.13.22
passport 0.5.2
passport-github 1.1.0
react 15.7.0
react-dom 15.7.0
react-masonry-component 6.3.0
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 23.0.7
@rollup/plugin-node-resolve 15.0.1
@rollup/plugin-replace 5.0.5
@rollup/plugin-terser 0.2.0
concurrently 7.6.0
nodemon 2.0.22
rollup 2.79.1
apps/cash-register/package.json
dotenv 16.0.0
express 4.19.2
apps/chart-the-stock-market/package.json
dotenv 14.3.2
express 4.19.2
socket.io 4.7.2
apps/choropleth-map/package.json
dotenv 16.0.0
express 4.19.2
apps/drum-machine/package.json
dotenv 16.0.0
express 4.19.2
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 23.0.7
@rollup/plugin-node-resolve 15.0.1
@rollup/plugin-replace 5.0.5
@rollup/plugin-terser 0.2.0
rollup 2.79.1
apps/exercise-tracker/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
mongodb 3.7.4
mongoose 5.13.22
apps/file-metadata-microservice/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 5.0.0-beta.3
mocha 9.2.2
multer 1.4.4
apps/forum-proxy/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
node-fetch 3.3.1
apps/heat-map/package.json
dotenv 16.0.0
express 4.19.2
apps/image-search-abstraction-layer/package.json
dotenv 14.3.2
express 4.19.2
google-images 2.1.0
moment 2.30.1
mongodb 3.7.4
apps/issue-tracker/package.json
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
mongodb 3.7.4
mongoose 5.13.22
apps/javascript-calculator/package.json
dotenv 16.0.0
express 4.19.2
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 23.0.7
@rollup/plugin-node-resolve 15.0.1
@rollup/plugin-replace 5.0.5
@rollup/plugin-terser 0.2.0
rollup 2.79.1
apps/manage-a-book-trading-club/package.json
body-parser 1.20.2
connect-flash 0.1.1
connect-mongo 3.2.0
cookie-parser 1.4.6
dotenv 14.3.2
express 4.19.2
express-session 1.18.0
font-awesome 4.7.0
helmet 3.23.3
mongoose 5.13.22
morgan 1.10.0
passport 0.5.2
passport-github 1.1.0
pug 3.0.3
chai 4.4.1
chai-as-promised 7.1.1
chai-dom 1.12.0
chai-http 4.4.0
mocha 9.2.2
apps/markdown-previewer/package.json
dotenv 16.0.0
express 4.19.2
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/preset-react 7.23.3
@rollup/plugin-babel 6.0.4
@rollup/plugin-commonjs 23.0.7
@rollup/plugin-node-resolve 15.0.1
@rollup/plugin-replace 5.0.5
@rollup/plugin-terser 0.2.0
rollup 2.79.1
apps/metric-imperial-converter/package.json
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
apps/p2p-video-chat-application/package.json
dotenv 14.3.2
express 4.19.2
jquery 3.7.1
simple-peer 9.11.1
socket.io 4.7.2
@rollup/plugin-commonjs 21.1.0
@rollup/plugin-node-resolve 13.3.0
@rollup/plugin-terser 0.2.0
concurrently 7.6.0
nodemon 2.0.22
rollup 2.79.1
apps/palindrome-checker/package.json
dotenv 16.0.0
express 4.19.2
apps/personal-library/package.json
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
mongodb 3.7.4
mongoose 5.13.22
apps/personal-portfolio/package.json
dotenv 16.0.0
express 4.19.2
apps/pokeapi-proxy/package.json
axios 1.6.7
cors 2.8.5
dotenv 16.3.1
express 4.19.2
node-cache 5.1.2
apps/pokemon-search-app/package.json
dotenv 16.0.0
express 4.19.2
apps/product-landing-page/package.json
dotenv 16.0.0
express 4.19.2
apps/random-quote-machine/package.json
dotenv 16.0.0
express 4.19.2
apps/request-header-parser-microservice/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 5.0.0-beta.3
mocha 9.2.2
apps/roman-numeral-converter/package.json
dotenv 16.0.0
express 4.19.2
apps/scatterplot-graph/package.json
dotenv 16.0.0
express 4.19.2
apps/secure-real-time-multiplayer-game/package.json
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/register 7.23.7
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
helmet 3.23.3
jsdom 16.7.0
mocha 9.2.2
socket.io 4.7.2
apps/stock-price-checker-proxy/package.json
@seald-io/nedb 2.2.2
axios 1.6.7
cors 2.8.5
dotenv 14.3.2
express 4.19.2
apps/stock-price-checker/package.json
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
helmet 3.23.3
mocha 9.2.2
mongodb 3.7.4
request 2.88.2
apps/sudoku-solver/package.json
@babel/core 7.24.0
@babel/preset-env 7.24.0
@babel/register 7.23.7
body-parser 1.20.2
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
jsdom 16.7.0
mocha 9.2.2
apps/survey-form/package.json
dotenv 16.0.0
express 4.19.2
apps/technical-documentation-page/package.json
dotenv 16.0.0
express 4.19.2
apps/telephone-number-validator/package.json
dotenv 16.0.0
express 4.19.2
apps/timestamp-microservice/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
apps/treemap-diagram/package.json
dotenv 16.0.0
express 4.19.2
apps/tribute-page/package.json
dotenv 16.0.0
express 4.19.2
apps/twitch-proxy/package.json
@seald-io/nedb 2.2.2
cors 2.8.5
dotenv 14.3.2
express 5.0.0-beta.3
node-cron 3.0.3
node-fetch 3.3.0
request 2.88.2
winston 3.12.0
winston-daily-rotate-file 3.10.0
apps/url-shortener-microservice/package.json
chai 4.4.1
chai-http 4.4.0
cors 2.8.5
dotenv 14.3.2
express 4.19.2
mocha 9.2.2
mongoose 5.13.22
apps/voting-app/package.json
body-parser 1.20.2
dotenv 14.3.2
ejs 3.1.10
express 4.19.2
mongodb 3.7.4
apps/weather-proxy/package.json
cors 2.8.5
dotenv 14.3.2
express 4.19.2
request 2.88.2
package.json
dotenv ^16.0.3
@types/jest ^29.5.10
axios 1.6.0
eslint-config-prettier 8.7.0
eslint-plugin-react 7.34.0
husky 8.0.3
jest 29.7.0
lint-staged 15.2.2
prettier 2.8.8
node 18
npm 9
Looking forward for reporting a security issue:
Please report security issues by following our security policy: https://contribute.freecodecamp.org/#/security
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
There needs to be a new version in this repo.
A number of the files aren't properly formatted to the Prettier specifications. As mentioned in a previous PR, it will be wise to get around to it.
There's two different approaches we can take here. Either we do all of them at once, or we do it on a per project basis. And maybe see about adding a lint npm script.
Pros of full conversion in a single PR:
Cons:
Describe the bug
The "get all" endpoint of the proxy is replacing the original API HTTPS links with HTTP, causing CORS blocking (mixed content). This happens if campers fetches all Pokรฉmon and then uses the url
property from the response to fetch with.
To Reproduce
https://pokeapi-proxy.freecodecamp.rocks/api/pokemon
Response (truncated to single object):
{
"count": 1302,
"results": [
{
"id": 1,
"name": "bulbasaur",
"url": "http://pokeapi-proxy.freecodecamp.rocks/api/pokemon/1/"
}
]
}
I assume it is happening on line 28
Can't say I know why req.protocol
would be HTTP and not HTTPS in production. Maybe it is related to Docker. Not sure if setting "trust proxy" in the express app would do anything (docs). I assume it would HTTP in dev, so I'm not sure how to test this.
@scissorsneedfoodtoo Any idea why this is happening?
Expected behavior
HTTPS API links in production.
Additional context
There are quite a few examples of this happening, but here is the latest forum post I saw.
We have refactored the repository to use a Docker-based setup for development and deployment. The current (legacy) version of the apps is live from the prod
branch. The prod
branch may receive selected hot patches as we work through the full migration.
Here is a task list for the same:
Note that the contributing guide will be updated eventually; if you are looking for instructions on working on the legacy version, please visit the guide on the prod
branch.
Describe the Issue
Example JavaScript Calculator accepts invalid input.
Affected Page
https://javascript-calculator.freecodecamp.rocks/
Your code
*2=
/2=
/2/2=
Expected behavior
It should ignore invalid input.
Screenshots
System
Device: Laptop OS: Windows 18.04.5 Browser: Chrome
Additional context
All the apps need to start with a base template, which should have a default liveliness check endpoint for deployments.
For instance, every app should implement a /status/ping
, and that should return an HTTP error code of 200 with a response of { "msg" : "pong" }
This issue may be split into multiple PRs, with one PR for every project.
Use the DOCR private registry.
Looking forward for reporting a security issue:
Please report security issues by following our security policy: https://contribute.freecodecamp.org/#/security
Describe the bug
The opening main
tag in the file is never closed. As a result, it complains about the body closing tag is unexpected.
To Reproduce
Steps to reproduce the behavior:
<main>
Expected behavior
The main
tag should be closed.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
I discovered this while I was reformatting the existing code in the repositories.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.