diff --git a/README.md b/README.md index 1ba2c7a4c..94220fa37 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,31 @@ Assignment 3 - Persistence: Two-tier Web Application with Database, Express server, and CSS template -=== -Due: September 22nd, by 11:59 AM. +## Movielist V2 -This assignnment continues where we left off, extending it to use the most popular Node.js server framework (express), -a database (mongodb), and a CSS application framework / template of your choice (Boostrap, Material Design, Semantic UI, Pure etc.) +https://a3-edwardclifford.herokuapp.com/ -Baseline Requirements ---- +The goal of this application is to create a persistent movie watch list for users. A user will be able to log in, view their list of movies, add to that list, and view details about that movie. -Your application is required to implement the following functionalities: +The largest challenge I faced when implementing the backend was configuring express to recognize my requests and read the request body json objects. It wasn't until I figured out I needed to use middleware to parse the request that I was able to reveal the body contents. This was escpecially difficult because the problem was not apparent, and the body attribute was completely missing from the request object. No errors were thrown and I was unable to log where the body was being recieved or parsed. -- a `Server`, created using Express (no alternatives will be accepted for this assignment) -- a `Results` functionality which shows all data associated with a logged in user (except passwords) -- a `Form/Entry` functionality which allows users to add, modify, and delete data items (must be all three!) associated with their user name / account. -- Use of at least five [Express middleware packages](https://expressjs.com/en/resources/middleware.html). Explore! One of these five middleware -can be a custom function that you write yourself; if you choose to do this, make sure to describe what this function is in your README. -- Persistent data storage in between server sessions using [mongodb](https://www.mongodb.com/cloud/atlas) -- Use of a [CSS framework or template](https://github.com/troxler/awesome-css-frameworks). -This should do the bulk of your styling/CSS for you and be appropriate to your application. -For example, don't use [NES.css](https://nostalgic-css.github.io/NES.css/) (which is awesome!) unless you're creating a game or some type of retro 80s site. +My authentication strategy is comparing a plaintext password to a stored plaintext password in the database on the server. If this comparison passes, the cookie session is set to logged in and the user is authenticated for that username. This was the most straightforward system to implement. -Your application is required to demonstrate the use of the following concepts: +I used pure.css for some lightweight styling of components. The app layout is very straightforward and only has 2 sections, list and add. I had already implemented a collapsible in a2, and chose to use that implementation instead of a collapsible provided by a css framework. -HTML: -- HTML input tags and form fields of various flavors (`