Nodejs.dev: List of Getting Started Content titles, grouped by stakeholder

Created on 21 Jun 2018  Β·  10Comments  Β·  Source: nodejs/nodejs.dev

This is a starter list of Getting Started Content titles.

This list was generated from work done by wonderful contributors at this website-redesign content creation workshop.

Next steps

Each title needs its own issue. Each title can then be discussed in comments, built out, and have context added.

When you see a title that has yet to get an issue, please feel free to make one in this repo!

Titles

The list is organized by stakeholders. Stakeholders here are defined as a general group of users who would be likely to benefit from that content. The shortlist of stakeholders were identified at the workshop mentioned below. The descriptions are deliberately broad. There is, of course, a lot of overlap.

the frontend developer

This person develops frontend clients. They may use frameworks, like Gatsby or Vue.

  • Using Node.js to set up a simple server with which to try a client
  • Using Node.js with frontend frameworks
  • Using Node.js to serve static assets
  • Using Node.js to connect with a database
  • Consuming an API from a Node.js server
  • Transpiling code for use on the frontend
  • Using Node.js for hot module reloading
  • Hosting a Node.js server
  • Using Electron to build desktop apps with Node.js

the backend developer

This person develops API servers. They may use frameworks, like Sails or Express.

  • Learning Node.js
  • Installing Node.js
  • Deploying Node.js (including serverless)
  • Creating APIs with Node.js
  • Understanding Node.js’ syntax and features
  • Debugging and instrumentation in Node.js
  • Using modules and frameworks with Node.js
  • When Node.js is a good choice and when it is not (yet πŸ˜‰)
  • Understanding Node.js security updates, common vulnerabilities and exposures
  • Connecting to a data store using Node.js
  • Using Node.js on [insert your OS here]
  • Using Node.js with legacy databases
  • Filing bugs for Node.js πŸŽ‰
  • Using/integrating Node.js with other backend services
  • API Testing Best Practices

the community stakeholder

This person is invested in the Node.js ecosystem. They may organize meetups or (are looking to) contribute to the Node.js project.

  • Contributing to Node.js
  • Joining the Node.js Foundation as a company
  • The Node.js project explainer. TSC, CommComm, and more
  • Connecting with fellow Node.js developers through meetups, events, forums, Stack Overflow, IRC
  • Finding people contributing to Node.js
  • Donating to Node.js
  • Finding a place in Node.js to contribute
  • Contributing to nodejs/outreach
  • Sponsoring JS Interactive
  • Finding Node.js mentorship
  • Finding Node.js conferences

the ecosystem stakeholder

This person is invested in the Node.js ecosystem. They may create packages for Node.js.

  • Getting started making packages for Node.js
  • Contributing to the direction of Node.js as a package developer
  • Finding good Node.js packages

the analytics/QA developer

This person may be using Node.js' for testing or metrics.

  • This collection of diagnostic how-tos can be brought in
  • Testing using Node.js
  • Unit tests in Node.js
  • Using Node.js in big data applications
  • Measuring Node.js' performance
  • Using Node.js with New Relic etc.
  • Logging in Node.js
  • Recommended practices for QA in Node.js apps
  • Deploying Node.js to AWS, GCP, etc.
  • Metrics available through Node.js
  • Handling crashes in Node.js
  • Analyzing streaming data in Node.js

the product stakeholder

This person may be using Node.js for their project and have questions that affect their business

  • Understanding the business case for using Node.js
  • Cost of Node.js
  • Hiring Node.js developers
  • Trusting Node.js
  • Business users of Node.js
  • Moving from another stack to Node.js
  • Scaling my business with Node.js
  • Finding Node.js compatible software
  • When Node.js is a good choice and when it is not (the business usecase)
  • The stability of the Node.js project
  • Legal considerations of Node.js and its packages
  • Understanding open source
  • Using Node.js for business intelligence applications

the ops/tooling developer

This person uses Node.js to develop, integrate, deliver or deploy...continuously. DevOps.

  • Securing Node.js
  • Caching with Node.js
  • Understanding LTS
  • Understanding Node.js performance
  • Building Node.js from source
  • Installing Node.js
  • Using Node.js package managers
  • Understanding the event loop
  • Deploying a Node.js app
  • Understanding Node.js infrastructure requirements
  • Debugging Node.js in production
  • Trying Node.js nightlies
  • Managing Node.js version upgrades
  • Monitoring application performance
  • Linting Node.js
  • Mitigating API-breaking changes

_Thank you for reading all the way through!_ 🀠

Most helpful comment

@tlhunter I like the 'Node for X' in the backend idea; anecdotally, I'd say Java & PHP are two of the most common paths to Node that I'm hearing about. NPM did a survey and while it's not a survey of the entire ecosystem, this slide (https://slides.com/seldo/npm-and-the-future-of-javascript#/33) leads me to believe Java, PHP & Python may be top candidates to write tutorials for. They're also some of the top languages in use in general so would be a good starting point regardless.

Would it be appropriate to have a TypeScript in Node apps? It seems to be growing in popularity. May be a 'save for later' topic - not foundational at this point.

All 10 comments

Note to people just discovering this issue – this is raw data from a brainstorming exorcize we conducted at the Collaborator Summit! Some titles may not be appropriate for the website, some may be cross-cutting and not belong under a single user type, and others may be missing entirely! It is in no way comprehensive or final πŸ™‚ Please add your own and give suggestions!

I've also created this project board to track getting started content work: https://github.com/nodejs/website-redesign/projects/2

If/when you create your ticket please add it to the board to ease our triage work!

I have an RFC process proposal for drafting new documentation pages πŸŽ‰

Its up for review here: https://github.com/nodejs/website-redesign/pull/64

Should help us review and store all this content in an orderly manner while we wait on final site architecture and docs ingestion flow πŸ‘

Once finalized and pulled in, we can start opening individual issues for each page and point people to this process for instructions on how / where to contribute.

I think the body of issues created for individual documentation pages can be as simple as the following:


How to Contribute Documentation

While the Website Redesign working group continues to iterate on site design and content structure, we will use an RFC process to accept and evaluate Node.js documentation contributions.

To begin drafting a documentation page, please follow the RFC process outlined here: https://github.com/nodejs/website-redesign/tree/master/documentation

I'd like to see a few "Node.js for X developers" in the backend section. E.g. for developers migrating over from PHP, Python, Ruby, .NET, etc. I'm not sure if there are any surveys with information on what are the top platforms that Node.js developers migrated away from (Stack Overflow might have a survey on this?)

When we do look for authors of "canonical" posts on these topics, we'll probably get the most content the quickest if authors can simply adapt an existing post to a common writing style (or, might we have a dedicated writer/editor to adapt content?)

One thing to keep in mind is that the posts should be very much self contained. For example, RESTful API design with Node.js is one of the first results when searching for "building an api with node.js". The post had "claps" from 1,300 Medium users for a total of 9,200 claps, which is a pretty good indicator of its popularity. Unfortunately the post relies heavily on outside tools such as MongoDB, AWS, Postman, etc. We'd have to remove those, which would take time (regardless of who does the removing).

If we do adapt content from existing sources I think it'll be important to keep the name of the original author in the document as this would entice more authors to share their content.

@tlhunter I like the 'Node for X' in the backend idea; anecdotally, I'd say Java & PHP are two of the most common paths to Node that I'm hearing about. NPM did a survey and while it's not a survey of the entire ecosystem, this slide (https://slides.com/seldo/npm-and-the-future-of-javascript#/33) leads me to believe Java, PHP & Python may be top candidates to write tutorials for. They're also some of the top languages in use in general so would be a good starting point regardless.

Would it be appropriate to have a TypeScript in Node apps? It seems to be growing in popularity. May be a 'save for later' topic - not foundational at this point.

The TS question is a good one, though I'm not sure of the answer. It's technically outside the realm of Node (it's kinda more at the JS layer). But then again, so are things like async/await, which might also be very useful for Node newbies.

For the frontend developer:
This may be covered elsewhere, but perhaps something on Generated assets - HTML and SVG are often generated on the fly on the server. Β 

The backend developer:
I think an understanding performance issues would fit in with this group.

Devops/tooling:
It sounds like we're avoiding talking about external tools, etc. so not sure if any of this helpful, but topics of interest -TDD/BDD (typically w/ Mocha & Chai); containerization (docker); CI/CD (jenkins or travis), infrastructure automation (ansible or terraform) & orchestration (kubernetes).

@tlhunter fair point! TS is likely not a fit for this iteration, at least.

This addresses an action item from #90.

This solution uses UserReport.

Another platform called Canny also looks promising, but there's a minimum cost.

A DIY solution called Upvote seems perfect but needs to be hosted (it also seems to need login).

UserVoice is another option.

This is a link to the page where we can list our topics and ask the community for information to help us prioritize our contributors' efforts πŸ’›

Pros:

  • Those topics can be individually commented on
  • They can be upvoted

Pro/con

  • No login is required: Easier. Spammier.
  • Can't disable the "new" button. So people can add new topics, instead of just voting.
Was this page helpful?
0 / 5 - 0 ratings

Related issues

ollelauribostrom picture ollelauribostrom  Β·  3Comments

lidoravitan picture lidoravitan  Β·  4Comments

BeniCheni picture BeniCheni  Β·  4Comments

mmarchini picture mmarchini  Β·  4Comments

benhalverson picture benhalverson  Β·  4Comments