Packages and resources used

Backend

Node.js & NPM

Express

axios

body-parser

cors

express-validator

multer

postgres

pg-format

pg-hstore

sequelize

nodemon

FrontEnd

BootStrap

carousel, Nav, Cards and flex box are the key features used of this

Jquery

AJAX

docker

Public API for dog pictures used in the carousel, the api is called and cached on the back end with a 1 hour cache timer, so you may see the same photos repeatedly, but if you wait or restart the container you'll see different images. https://dog.ceo/api/breeds/image/random/3

All dogs seen in the table and cards are my own, or they are the pets of friends with permission to post them.

CRUD

Create can be seen on add a pet, this allows for sending a picture to the back end, and creating a posgres database record for the pet

Read can be seen on the home page, reads from the database

Delete can be seen on the home page. deletes from the database

Update can be seen on the home page, updates records on the database

contact us is a dummy page

Assignment Requirements

built a REST API✔️

Displaying single and multiple records from the REST API and a proxy to an external API for extra photo content✔️

The single record is called when editing a record, it will call via the primary key to get the data as a placeholder

front end retrieves data in a JSON format using AJAX and Jquery✔️

Filtering & Searching Data can be seen on the table on the home page, this approach was taken to reduce api calls after the content was already loaded✔️

Polling can also be seen on the home page, the content dynamically refreshes using timers without reloading the page✔️