Skip to content

feat: use the Python course as a template for a new JavaScript course #1584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

honzajavorek
Copy link
Collaborator

@honzajavorek honzajavorek commented May 16, 2025

This is a proof of concept exploring whether using the Python course as a template for a brand new JavaScript course would take less time than trying to improve the original JavaScript course. This work is sanctioned by both @mnmkng and @TC-MO. If viable, this should have the potential to implement #1550 and, of course, deprecate #1579

Done

Challenges

Todo

  • rewrite extracting data in the Python course so that it still mentions Decimal, but also converts to cents (it's in saving data, too!) - only after fix: re-order JSON and CSV in Python lessons #1658
  • don't forget any /TBD/ occurrences
  • resolve the temporary symlink to the images directory
  • eventually rename javascript2 to javascript
  • DRY intro of the course? DRY partials?
  • fix sidebar position of the intro
  • add redirects

@honzajavorek honzajavorek added the t-academy Issues related to Web Scraping and Apify academies. label May 16, 2025
@honzajavorek honzajavorek force-pushed the honzajavorek/javascript2 branch from f4c5ab8 to ca304ee Compare June 23, 2025 09:44
@apify-service-account
Copy link

Preview for this PR was built for commit ca304ee and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit bc2ff070 and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit eb05470 and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit e3b6f07 and is ready at https://pr-1584.preview.docs.apify.com!

@honzajavorek honzajavorek force-pushed the honzajavorek/javascript2 branch from e3b6f07 to 6e6db97 Compare June 27, 2025 08:32
@apify-service-account
Copy link

Preview for this PR was built for commit 6e6db97 and is ready at https://pr-1584.preview.docs.apify.com!

honzajavorek added a commit that referenced this pull request Jun 27, 2025
… (groundworks) (#1651)

See #1584 for more details. I
carved out these two commits so that we can do incremental reviews of my
changes in subsequent PRs instead of a huge PR with everything stuffed
in it:

- 8e6a303 is a copy-paste of the Python
course to a new directory called `javascript2` (nothing to review,
really)
- 9ccf0df makes it `unlisted`

There are, of course, more changes to come. This is just groundworks.

The `unlisted` trick was recommended by @TC-MO in a [Slack
convo](https://pyvec.slack.com/archives/C03BHBQNNG3/p1750773530207319),
hopefully ensuring the duplicated course won't be visible on production.
Apparently it behaves differently dev vs prod, so I couldn't really
verify it properly locally.

I tried running `npm run build` hoping I'd get a prod build of the docs,
but I only got errors. Using `npm start` I can see the pages in the
navigation, but the warning is in place, so I think Docusaurus picks it
up correctly:

<img width="781" alt="Screenshot 2025-06-27 at 10 37 52"
src="https://github.com/user-attachments/assets/7753def0-c08d-47b5-b0c7-96c98541399a"
/>

Hopefully in the prod build it won't be in the navigation. But in the
case it's not gonna work properly on prod, I'm ready to revert this PR
immediately.
@honzajavorek honzajavorek force-pushed the honzajavorek/javascript2 branch from 6e6db97 to 104c5cc Compare June 27, 2025 13:43
@apify-service-account
Copy link

Preview for this PR was built for commit 104c5cc and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 82bf3ee and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit d284f74 and is ready at https://pr-1584.preview.docs.apify.com!

honzajavorek added a commit that referenced this pull request Jun 30, 2025
When working on #1584 I realized
it'd be better if the lesson started with JSON and continued with CSV,
not the other way.

In Python it doesn't matter and in JavaScript it's easier to start with
JSON, which is built-in, and only then move to CSV, which requires an
additional library. So for the sake of having both lessons aligned, I
want to change the order in the Python lesson, too.

So most of the diff is just the two sections reversed, and the two
exercises reversed. I made only a few additional changes to the wording.
@honzajavorek honzajavorek force-pushed the honzajavorek/javascript2 branch from d284f74 to b689317 Compare June 30, 2025 12:32
@apify-service-account
Copy link

Preview for this PR was built for commit b689317 and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 3f87295 and is ready at https://pr-1584.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit ee7ae7d9 and is ready at https://pr-1584.preview.docs.apify.com!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t-academy Issues related to Web Scraping and Apify academies.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

F1 changed website, few Apify Academy exercises are broken Update Academy's approach to setting up a Node.js project
2 participants