https://brilliant.org/DevonCrawford
^ This video is sponsored by Brilliant! To master computer science and support my channel use my link 🙂

In this video I decided to share my research over the past few weeks since I have encountered many roadblocks when designing my server architecture. My current design is just a single node js + express application which handles all routes for my front end, back end + any other web apps I want to integrate. This is design is okay for small websites but as soon as you want to do multiple apps it becomes problematic. Pretty sure my new design is called a “micro-services” approach. and lately I’ve just done a lot of research on what tech would best suit my needs. A few things I didn’t get the chance to mention in this video.. 1) I don’t actually know JavaScript that well tbh.. any real algorithmic processing I will do in c++ or c and then integrate that code using the node ffi library. 2) I only want to use JavaScript, node js and express to act as the glue between my programs and the website. I prefer languages like C, C++ or Java since the compiler will yell at you for anything you’ve done wrong. I’ll do all my real processing in the languages which I know best. 3) See below for a bunch of resources that I found helpful when learning all of this stuff!
And also, I would really like to hear everyone’s feedback and possible improvements or ideas you may think of when designing such a system.

Technology used in this video
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Server: Node js + Express (Javascript)
Front End: Next js + React (HTML, CSS, JS)
Reverse Proxy & Load Balancer: Nginx
Website Host: Digital Ocean Cloud computing platform
Data: JSON, AJAX (asynchronous calls from client to server)

Next Video:
Previous Video: https://youtu.be/rrxdbbFSeio

Research / Resources
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Production best practices (express): https://expressjs.com/en/advanced/best-practice-performance.html
Client vs Server side rendering: https://medium.freecodecamp.org/what-exactly-is-client-side-rendering-and-hows-it-different-from-server-side-rendering-bd5c786b340d
Next js: https://nextjs.org/
Nginx config explained: https://www.digitalocean.com/community/tutorials/understanding-the-nginx-configuration-file-structure-and-configuration-contexts

Social
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Website: https://devoncrawford.io
Twitter: https://twitter.com/DevonCrawford13
Snapchat: https://www.snapchat.com/add/devoncrawfordyt
Instagram: https://www.instagram.com/devoncrawford_/
Github: https://github.com/devoncrawford
Discord: https://discord.gg/sU2fur9
Patreon: https://www.patreon.com/devoncrawford

Gear
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
– Video Editing Software (Premiere Pro CC): https://goo.gl/rKx66D
– All Adobe Apps (I use this plan): https://goo.gl/hrTYFS
– Keyboard (Velocifire TKL01) : https://amzn.to/2AQTjJQ
– Monitors (Dell U2518D) : https://amzn.to/2AQQmco
– Webcam (Logitech C920): https://amzn.to/2Cw588c
– Desk Microphone (Blue Yeti): https://amzn.to/2FPFmzi
– DSLR (Canon T7i): https://amzn.to/2T54mpZ
– Wide Lens (Tokina 11-16mm F2.8): https://amzn.to/2MlpvcO
– Full list of gear: https://devoncrawford.io/gear

Music
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
swad beach – aruarian dance (swadmix)
Link: https://soundcloud.com/swad2/aruarian-dance-swadmix

Inteus – I Pull up in a What is That
Link: https://soundcloud.com/inteus666/i-pull-up-in-a-what-is-that

SwuM. – NEW DRUM KIT OUT NOW!
Link: https://soundcloud.com/swumbeats/lofi-trap-drum-kit-out-now

lzr – goin up
Link: https://soundcloud.com/prodlzr/goin-up