A full-stack TypeScript Lerna monorepo using TypeScript Node & React (via vite)
This demo showcases some simplistic but fully-functional and production-ready full-stack components, including a custom Node reverse-proxy that handles simple detection & blocking of malicious requests, a Node Express web server, and a vite React frontend.
The frontend is a basic map application designed to showcase the difference between a standard single-threaded (UI thread) JS application and the benefits of multi-threading on web workers as you process more complex data sets - check out how smooth the map animation remains with multi-threading!
npx init lerna
cd ts_be && npm install
cd ../ts_fe && npm install
cd ts_be
docker build -t node-proxy-webserver .
docker run -p 3001:3001 -p 4001:4001 node-proxy-webserver
cd ts_fe
npm run dev
You'll need a free maptiler API key: https://cloud.maptiler.com/account
Create a .env
file: touch ts_fe/.env
and add this line to it:
VITE_MAP_URL="https://api.maptiler.com/maps/streets-v2/style.json?key=<REPLACE_YOUR_API_KEY>