Nodebestpractices: On what topic should be our next best practices list?

Created on 13 Aug 2018  ·  11Comments  ·  Source: goldbergyoni/nodebestpractices

Dear maintainers, contributors, and followers,

We need your advice: We've just met a significant milestone - our security best practices section was released and was ranked 2nd most read medium.com Node article on July. At the same time, we've reached 15,000 stars and become top 15th Node.js most starred package on the entire GitHub (not including frontend). This is an opportunity to say thank you for your great contribution.

We are ready to start tackling the next topics and write new best practices. What would you suggest as for the next topic? [kindly vote here and help us decide]!(https://twitter.com/nodepractices/status/1029077813826072576)

Other notes:

  1. Would you like to join? If you wish to participate in writing the next section, or join as a maintainer - please comment and will be glad to collaborate together on good coding practices
  2. We shall soon start working on a boilerplate starter that packs-in all best practices, want to join and write some best practice code?
    3, Will be glad to hear any other feedback and ideas about the direction this repo should take onward

Best regards,
Yoni Goldberg

List of our dear contributors:
@BrunoScheufler
@js-kyle
@idori
@lirantal
@kevinrambaud
@mfine15
@squgeim
@ChangJoo-Park
@matheusrocha89
@BitYog
@kudapara
@t1st3
@mulijordan1976
@matchai
@fabiothiroki
@jsumners
@crowchirp
@dan-gamble
@trainorpj
@reod
@yonjah
@hazolsky
@EvgenyOrekhov
@gediminasml
@hisaac
@vkaracic
@lallenlowe
@nwwells
@paulovitin
@syzer
@davesnx
@Pupix
@Spaxe
@ocularrhythm
@septa97
@AllenFang
@leonardovillela
@MichalZalecki
@chrisnicola
@aecorredor
@ymhtut
@cwar
@keyfoxth
@utkarshbhatt12
@duartemendes
@sagirk
@serv
@Max101
@SandroMiguel

help wanted question stale

Most helpful comment

@i0natan Interestingly would be to get and establish standard practices for our already opened issues. One of them, quite common: https://github.com/i0natan/nodebestpractices/issues/198 - I think that most of us use some ORM or DAL that is shared between components. It would be good to have a recommended way of dealing with it. One idea is to inject ORM/Models as a context through a middleware where it is necessary, but maybe there's a different way to handle it. One related subject to this is about nested routes -> how to structure components when they present nested routes, e.g.: /user/1/book/2/notes/3. Maybe a creating a small app structure design would be sufficient to present a possible solution?

All 11 comments

@i0natan Interestingly would be to get and establish standard practices for our already opened issues. One of them, quite common: https://github.com/i0natan/nodebestpractices/issues/198 - I think that most of us use some ORM or DAL that is shared between components. It would be good to have a recommended way of dealing with it. One idea is to inject ORM/Models as a context through a middleware where it is necessary, but maybe there's a different way to handle it. One related subject to this is about nested routes -> how to structure components when they present nested routes, e.g.: /user/1/book/2/notes/3. Maybe a creating a small app structure design would be sufficient to present a possible solution?

@simon2k you write about REST, there are GraphQL endpoints in the wild, that solve this particular problem.

Voted for API practices as the next topic on Twitter (though, looks like performance practices are the current winner by a small margin).

I'm interested in lending a helping hand with maintenance.

I'd like to float a few ideas for discussion that may help reduce maintenance burden:

  1. Introduce a linter for markdown (markdownlint seems to be the community favorite) to maintain consistency across contributions
  2. Integrate with a CI service (TravisCI/CircleCI) to enforce linting
  3. Adopt the all-contributors specification to recognize contributors, so maintainers can leverage its CLI to automate this monthly chore
  4. If a best-practices-boilerplate is being planned, eventually consider moving to an organization to co-locate all related repos

I agree to @sagirk, moving to an organization would be a good task for future plans of this project.
Reducing the effort of maintaining the chores by automating specific workflows sounds like a good plan, too.

My main task for the next time will be to create code-style guidelines (maybe building on top of popular guidelines like standard/airbnb), to enforce a uniform style for new and existing content.

I'd also be interested in branching out to awesome tech like TypeScript and its ecosystem to utilize type-safety and other helpful features it offers.

@simon2k - These are absolutely tasks that challenge developrs === we're tasked to seek a good practice that many can blindly follow. How about elaborating on the architecture part and including prtscn and more code examples + sharing a boilerplate that exemplifies the structure?

@sagirk - These sound like tremendous ideas! Can you elaborate on the benefit of organization plan? wouldn't that change our URL (SEO concern)? I'll be glad if you can join our forces, if interested I'll add you to our telegram account

@BrunoScheufler - Sounds great to unify the code examples + provide TS examples and automate this using a CI. Can you prepare a brief and chat with me once it's ready?

@syzer - I remember you wrote some great stuff in the past, if you're up for writing some parts of the next sections that would be great

@i0natan Thanks, for kind words... but I have absolutely 0 free time.. I'm in image/text understanding.
So this what I could write of..
I guess it's not big audience there.
Maybe about functional composition, but there are better guys on that subject than me.

@i0natan

  • An organization can be a dedicated umbrella to group related projects together. It also makes it possible to, among other things, create teams, add read-only collaborators, or give someone else administrative control over one of your repositories.
    Probably unnecessary at present, but as the number of related projects grow in the future, it may be worth considering. A side-benefit is that collaborators can choose to tell the world about their organization membership (which, for some, can be an incentive for greater participation).
  • Yes, the URL will change after a transfer, but GitHub automatically redirects all requests for previous repository locations to their new home. This works for links to the web UI, API requests, git command line operations… the only exception is GitHub Pages (which shouldn't be a problem for us considering that we don't use it currently).

  • I'd be glad to join forces. Haven't really used telegram before, but if that's where collaboration happens, I'm willing to give it a spin. Also, my twitter DMs are open.

@BrunoScheufler Providing TypeScript examples nearby all code examples sounds amazing. I suggest that our CI will use the same linting rules that we recommend here (+airbnb rules). If you add TS that you'll need tslint as well. Let me know if you need help with configuring the CI - I've worked few times before with CircleCI.

@sagirk , these ideas are super valuable, approached in Twitter.

@syzer, you may stay around to help with major decision, we start soon a boilerplate project (that packs all best practices) and there will be many decision points

Hey again! Congratulations on hitting the new milestone :D

I'd love to contribute more! I'd be happy to help write up any new topics and/or help create boilerplates.

@TheHollidayInn Great news! I'll share updates soon

Hello there! 👋
This issue has gone silent. Eerily silent. ⏳
We currently close issues after 100 days of inactivity. It has been 90 days since the last update here.
If needed, you can keep it open by replying here.
Thanks for being a part of the Node.js Best Practices community! 💚

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jfgabriel picture jfgabriel  ·  4Comments

Luifr picture Luifr  ·  5Comments

goldbergyoni picture goldbergyoni  ·  4Comments

mcollina picture mcollina  ·  3Comments

andremacnamara picture andremacnamara  ·  4Comments