This week's project involved setting up a database which clients are connected to via a node.js server. We used client data to make a dynamic web app.
A books sharing application where people can add their own books to the database so everyone who is interested in borrowing it can reserve it for certain dates, with the freedom of unreseving it at anytime.
- Homepage:- For loginning for the first time into our application, you will be asked to provide us your name, to create for you a username that has your name - ( this is a simple authentication to distinguish our users )
You can Add a book, Delete a book, Review a book and make a reservation for it.
- git clone this repo.
- git install, if something was missing, please install manually to your machine, nyc, tape, tape-spec, supertest, nodemon.
- for nyc tests, nyc npm test.
- to deploy the server, we made an easy script for you, just type in your terminal 'npm run connect', and it will be deployed with nodemon, if you with to deploy without nodemon, just type in 'run start'.
- Have fun!
- Simple web app with a node server and a database
- Your database comes with a schema, which should be documented in your readme (along with any other architectural decisions)
- Database hosted on Heroku, or locally
- Build script for your database
- Security concerns appropriately considered (you must protect against script injections!)
- Content dynamic, but DOM manipulation kept to a minimum
- Mobile-first design
- Clear user journey (even if you take one of our suggested ideas, document the user journey in your readme)
- test your server routes with supertest
- test your pure functions both server and client side
- set up a test database so that you can test your database queries
- simple authentication
- Rating books
- Books can simultaneously be reserved by multiple users but for different dates
- Heroku - For deploying/hosting server and database.
- Tape - for testing.
- PostgreSQL - for database
- nyc - for testing.
- Supertest for testing.
- nodemon - for hosting locally.
- cookies web api - for a simple authentication
- Node.js - backend.
- Karam: Github Profile Page
- Faris: Github Profile Page
- Obaydah: Github Profile Page