Brief Tech Terminology
I always forget which way is up when I jump back into a programming project. I often just want to know where something roughly fits, help re-build my conceptual model, and get to work. There's not enough plain english bring-me-back-up-to-speed in the project's descriptions to suffice.
Writing terms to help my future self:
A standard for how frontends ask a designated single endpoint (eg. /graphql) for data. That endpoint and server can be whatever language to respond with data formatted to graphql standards.
Compiles down to machine language so it skips the line by line interpretation of the code by an interpreter. Statically typed means the type errors are picked up sooner. Strongly typed means you can't change the type of a variable once it's set.
It's a set of conventions and helper code for VueJS. If you only need a tiny widget on a page, vue alone could work, but for a full web app nuxt makes it easier. Reminds me of Rails.
Vue && React
A programming language that started out only for the browser. Web apps made it more coveted. Node.JS then allowed the language to be run on the backend.
A type of database where you store documents (large JSON esque things) inside collections. Good for retrieving. Joins not possible.
Refers to pretty much anything not old school relational databases like Mysql or Postgres. Good at horizontal scaling.
Is an http client that allows your frontend JS code to make requests to external or internal endpoints.
JS used to be small pieces of code in the browser. Then people grouped and shared code. NPM made "modularized" pieces of JS code widespread. While easy to develop with, browsers don't know what to do with this module business. Webpack slurps in all the modules the frontend app needs and spits out a file that the browser can read.
Allows you to write JS with the newer features and outputs older style JS that can be used by a greater number of browsers.
Write JS code to make desktop apps. Tradeoff is larger resource requirements.