pikashoes / bookdatabase-web-app

MPCS 52553 - Web Development Final Project. I created a website that emulates Goodreads, with several models, changing views based on user validation, and dynamic databases.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I have completed everything below.

20 points:

(1 pt) Started from the starting-point repository > Done. (1 pt) Named your repository mpcs52553-final > Done (1 pt) "/help" should show your complete list of user stories and business rules > Done

Proper use of MVC (6 pts) Complete domain model: domain-related logic, low-level database queries (find_by, where, etc.), validations, etc. > Done. I use several low-level database queries, such as in my books_controller. I also have completed domain-related logic and, as suggested in my last feedback, added validations for all models. (6 pts) Controllers respond to user input, prepare data for views, implement authorization rules as needed, etc. > Done. Controllers respond to all user input, and I have it preparing data for views. I show error messages when something fails and redirect to correct URLs once it fails or succeeds. (5 pts) Views are primarily responsible for the user interface, implement authorization rules as needed, and contain no direct database queries > Done. In particular, a VISITOR cannot create a new review, but a USER can create a new review. The views are different based on authorization (form is visible for user but not for visitor.) Similarly, a VISITOR cannot delete a book, but a USER can. The link for "Delete this book" redirects to different URLs based on authorization.

10 points:

(4 pts) At least one completely RESTful resource > Done. Added multiple. (3 pts) Users can securely sign up, login, and logout > Done. Users cannot access other users and password is secure. (3 pts) Good use of Bootstrap or custom CSS for reasonable appearance > Done.

Thank you for the great course!

About

MPCS 52553 - Web Development Final Project. I created a website that emulates Goodreads, with several models, changing views based on user validation, and dynamic databases.


Languages

Language:Ruby 60.8%Language:HTML 35.3%Language:JavaScript 2.3%Language:CSS 1.6%