Install nodemon globally if you don't already have it
Install PostgreSQL & run it (requires the password you created during installation)
Add database access credentials to db.js - recommend installing npm dotenv & using .env to hide credentials if commiting to Github
Postgresql shell commands: \l list all databases. \c database1 connect to database1. \dt inspect tables. \d+ inspect table & show relation information. \q to quit.
Run nodemon server for a dev server
http://localhost:5000/ can be accessed for CRUD operations such as POST, GET, PUT, DELETE etc. using Postman
💾 Setup - Frontend
Change to /client directory
Install dependencies using npm i.
run npm start. Frontend will open at http://localhost:3000/
💻 Code Examples - Backend
backend index.js: express post method used to add new todo [description] to postgreSQL database using SQL INSERT INTO statement
// create a todoapp.post('/todos',async(req,res)=>{try{const{ description }=req.body;constnewTodo=awaitpool.query("INSERT INTO todo (description) VALUES($1) RETURNING *",[description]);res.json(newTodo.rows[0]);}catch(err){console.error(err.message);}})
💻 Code Examples - Frontend
function that runs when user presses 'Add' button: the input body (description) is converted from a JavaScript object to a JSON string & POSTed to the todo database