/Amazonia

Primary LanguageJavaScript

Amazonia

Amazonia

Summary

Overall Structure

Database Schema

DatabaseSchema

Back end

The application was built using Javascript with a postgreSQL database and PUG templating. Backend structure is RESTful and all data requests use AJAX and are fullfilled with a mixture of a JSON API and PUG rendering.

Front end

The front end is built using PUG templates, CSS, and DOM maninuplation. Vanilla JS was used where possible to minimize page reloading.

Libraries

Good Reads uses:

  • express
    • express session
    • express validator
  • sequelize
  • bcrypt
  • pug

Primary Components

User Authorization

User authorization is handled in JavaScript using BCrypt for password hashing. These hashed passwords are saved to the database instead of the plain-text passwords. Upon login, the password that a user enters is rehashed and checked against the hashed password in the database to verify credentials.

CsrfAuth

GoodMovies uses Csrf Authentication to allow users to sign in.

User

The users accounts have a right side full of movie lists, 2 of which are permanent. These lists can be created as well as edited, and are used to store any movies you want.

Home Page

The homepage Highlights 20 movies, which are laid out in a row of recently added and highest rated.

Movies

The movies page, allows users to browse through a wide selection of over 900 movies, arranged by sets of 50. The search feature allows users to look up certain movies based on keywords and lists them all out.