Skip to content
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

Node Refresh #98

Open
twalton83 opened this issue Jan 23, 2022 · 4 comments
Open

Node Refresh #98

twalton83 opened this issue Jan 23, 2022 · 4 comments
Labels
Status: Discussion This issue/PR has an ongoing discussion Type: Enhancement Involves a new feature or enhancement request
Projects

Comments

@twalton83
Copy link
Contributor

twalton83 commented Jan 23, 2022

Title Author Date
NodeJS Course Module Refresh Tatiana Walton 1.23.22

Node Refresh

Summary

The NodeJS course has a majority of its content in the form of a code-along tutorial (Express Library from MDN). There are also some gaps or weaker sections (such as the authentication/authorization sections) and the REST API -> React frontend sections. This course should be refreshed to bring content in house and emphasize view engines less while adding more projects and content that rely on a REST API backend and React frontend. We should not get rid of view engines entirely because of their importance in other stacks.

Motivation

The motivation is to help bring parity between the RoR path and the NodeJS path, and help alleviate common issues seen in the help channels that are rooted in following the MDN code along for the majority of the course. The expected outcome is that learners have a stronger understanding of the MERN stack.

Suggested implementation

  • Removal of MDN Express Library
  • In house content to replace the above tutorial
    • Express basics (routing)
    • Mongoose lesson
    • Combining Express and Mongoose for CRUD
    • MVC pattern
  • Additional projects that leverage a React frontend and Node API
    • API project leveraging outside API (Like in RoR)
    • Authentication and passing JWT/cookies back and forth between frontend and backend
  • Expand upon authentication solutions (OAuth)
  • Expand upon testing with another project
  • Mailers? (Found in RoR, not NodeJS)
  • Retain final project and other content not explicitly mentioned here

Drawbacks

Are there any drawbacks to this proposal? consider the following:

  • This could consume some time depending on how deep we go
  • We might need a small team of individuals well versed in Node to help get this out in a timely manner

Alternatives

I think the content as it stands right now (not in house) is the alternative.

Additional

@twalton83 twalton83 added this to Ideas/Funnel in TOP Meta via automation Jan 23, 2022
@twalton83 twalton83 moved this from Ideas/Funnel to Discussing in TOP Meta Jan 23, 2022
@fortypercenttitanium
Copy link
Contributor

fortypercenttitanium commented Jan 23, 2022

Some suggestions:

  • Serialization
  • Streams/Buffers (more complicated data types)
  • deeper dive into frequently used built-in libraries
  • Redis?
  • Nodemailer already mentioned
  • ESM, maybe at least as an additional resource? Example
  • OAuth already mentioned
  • Image hosting/Cloud storage
  • Serverless/FaaS/Lambdas (this is becoming a hot topic from what I read)
  • When redoing the CRUD tutorial (mdn replacement), let's stick with one templating language instead of giving options. It was exceptionally difficult to do the tutorial using a language I liked better than pug.
  • Perhaps a lesson on very basic architecture, or rather, how to conceptualize a full stack application in something like Notion.

@fortypercenttitanium
Copy link
Contributor

Project ideas:

  • Custom middleware, such as a logger using fs.
  • Custom error handler using nodemailer

@twalton83
Copy link
Contributor Author

twalton83 commented Jan 24, 2022

Serverless/FaaS/Lambdas (this is becoming a hot topic from what I read)

I'm only against this because the goal here is parity and bringing things in house, rather than expansion.

The rest is agreeable to me.

@thatblindgeye thatblindgeye added Status: Discussion This issue/PR has an ongoing discussion Type: Enhancement Involves a new feature or enhancement request labels Jan 28, 2022
@fortypercenttitanium
Copy link
Contributor

  • More elaboration on data sanitation, XSS, SQL injection, etc. The current tutorial does a poor job explaining what exactly we are trying to prevent when sanitizing data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Discussion This issue/PR has an ongoing discussion Type: Enhancement Involves a new feature or enhancement request
Projects
Status: No status
TOP Meta
Discussing
Development

No branches or pull requests

3 participants