HOW TO STRUCTURE YOUR BACKEND CODE IN NODE.JS(express.js).
[with explanation]
π
βββ π app.js
βββ π bin
βββ π config
βββ π controllers
β βββ π customer.js
β βββ π product.js
β βββ ...
βββ π middleware
β βββ π auth.js
β βββ π logger.js
β βββ ...
βββ π models
β βββ π customer.js
β βββ π Product.js
β βββ ...
βββ π routes
β βββ π api.js
β βββ π auth.js
β βββ ...
βββ π public
β βββ π css
β βββ π js
β βββ π images
β βββ ...
βββ π views
β βββ π index.ejs
β βββ π product.ejs
β βββ ...
βββ π tests
β βββ π unit
β βββ π integration
β βββ π e2e
β βββ ...
βββ π utils
β βββ π validation.js
β βββ π helpers.js
β βββ ...
βββ π node_modules
Here's a brief explanation:
app.js
It's like the control centre of your web application. It's where you set up and manage everything.
bin
Think of this as a place for starting your web server. It's where you have scripts that make your website work.
config
These are like settings for your website, such as where your database is or how your website should behave.
controllers
This is where you put the brains of your website explains the name controllers. Each file here handles a different part of your site, like customer stuff or product stuff.
middleware
Imagine these as helpers that help your website do things like checking if you're logged in or keeping a record of what people do on your site.
models
This is where you describe what your data looks like. If your website is a store, this is where you say what a product is or what a customer is.
routes
These are like the paths to different parts of the website. If the website is a city, these are the streets and highways.
public
Think of this as your storage room for things everyone can see, like images, styles, and scripts.
views
If your website is like a book, these are the pages. This is where you put together what people see on the screen.
tests
These are like exams for your website to make sure it works correctly. You create different kinds of tests to check different parts of your site.
utils
These are like handy tools you use to make your website better, like checking if someone's email is valid or formatting dates nicely.
node_modules
This is like your toolbox filled with tools (libraries and code) that you use to build your website. It's automatically filled with things your project needs.
This organized structure helps you build and manage your website in a neat and organised way, making it easier to understand and work on, especially when your project gets bigger and more complex and you have to make changes very often.
I am not saying that this is the only or the best way, this is what I usually follow and thought about sharing it.
[with explanation]
π
βββ π app.js
βββ π bin
βββ π config
βββ π controllers
β βββ π customer.js
β βββ π product.js
β βββ ...
βββ π middleware
β βββ π auth.js
β βββ π logger.js
β βββ ...
βββ π models
β βββ π customer.js
β βββ π Product.js
β βββ ...
βββ π routes
β βββ π api.js
β βββ π auth.js
β βββ ...
βββ π public
β βββ π css
β βββ π js
β βββ π images
β βββ ...
βββ π views
β βββ π index.ejs
β βββ π product.ejs
β βββ ...
βββ π tests
β βββ π unit
β βββ π integration
β βββ π e2e
β βββ ...
βββ π utils
β βββ π validation.js
β βββ π helpers.js
β βββ ...
βββ π node_modules
Here's a brief explanation:
app.js
It's like the control centre of your web application. It's where you set up and manage everything.
bin
Think of this as a place for starting your web server. It's where you have scripts that make your website work.
config
These are like settings for your website, such as where your database is or how your website should behave.
controllers
This is where you put the brains of your website explains the name controllers. Each file here handles a different part of your site, like customer stuff or product stuff.
middleware
Imagine these as helpers that help your website do things like checking if you're logged in or keeping a record of what people do on your site.
models
This is where you describe what your data looks like. If your website is a store, this is where you say what a product is or what a customer is.
routes
These are like the paths to different parts of the website. If the website is a city, these are the streets and highways.
public
Think of this as your storage room for things everyone can see, like images, styles, and scripts.
views
If your website is like a book, these are the pages. This is where you put together what people see on the screen.
tests
These are like exams for your website to make sure it works correctly. You create different kinds of tests to check different parts of your site.
utils
These are like handy tools you use to make your website better, like checking if someone's email is valid or formatting dates nicely.
node_modules
This is like your toolbox filled with tools (libraries and code) that you use to build your website. It's automatically filled with things your project needs.
This organized structure helps you build and manage your website in a neat and organised way, making it easier to understand and work on, especially when your project gets bigger and more complex and you have to make changes very often.
I am not saying that this is the only or the best way, this is what I usually follow and thought about sharing it.
A little something other than react for y'all cause I wasn't able to upload react notes for today.
Loading suggestions...