Learn fullstack development from https://fullstackopen.com/
init vite project:
npm create vite@latest <folderName> -- --template <templateName>
- use json-server as mock server (create
.json
file for mock data) - use axios to fetch data from server
- separate components
- learn express js
- setup mongodb for database
- setup deployment using fly.io
- lil update in part2, integrate from FE to BE to Database
- create deployment flow:
- build FE and built folder
dist
from FE to BE - use built
dist
from FE in BE using express as static page - deploy to fly.io
- build FE and built folder
- refactor into more structured folder:
- root (app.js, index.js, package.json, package-lock.json)
- controllers (for endpoint routes)
- model (data format)
- utils (config.js, middleware.js, logger.js, and etc)
- Unit test using
node:test
- We can use
express-async-errors
to handle async error in express - We can use
supertest
to test express endpoint - We can utilize validation on Schema to validate input