A group-made application that was designed and built using the MVC paradigm and your own server-side API.
View the deployed app here
- Goals
- Technologies Used
- Instructions
- File Structure
- User Story
- Acceptance Criteria
- Presentation Requirements
- Definitions
- Installation
- Usage
- Credits
- Contributors
- License
-
Must use a Node and Express server
-
Must use Handlebars.js as the template engine
-
Must be backed by a MySQL database with a Sequelize ORM
-
Must utilize both GET and POST routes for retrieving and adding new data
-
Must be deployed using Heroku (with data)
-
Must utilize at least one new library, package, or technology that we haven’t discussed
-
Must have a polished front end/UI
-
Must have a folder structure that meets the MVC paradigm
-
Must meet good quality coding standards (indentation, scoping, naming)
-
Must protect API keys in Node with environment variables
- Node.js
- Express.js
- Handlebars
- MySQL
- Sequelize
- ESLint
- Travis CI
- Framebox
You and your team will design and build an app using the MVC paradigm and your own server-side API. You will also continue to add to your professional repertoire with testing, continuous integration and linting tools.
.Develop
|
├── config
│ ├── config.json
| ├── connection.js
| └── orm.js
│
├── models
│ └── book.js
| └── index.js
│
├── public
| ├── assets
| └── css
│ └── style.css
| └── imgs
│ └── book-covers
│ └── js
| ├──── home-search.js
| ├──── newScript.js
| ├──── save-book.js
| ├──── script.js
| └──── wishlist.js
|
├── routes
| ├── my-api-routes.js
| └── html-routes.js
│
├── views
| └── layout
| └── main.handlebars
| └── partials
| └── recommendations.handlebars
| ├──── index.handlebars
| └──── wishlist.handlebars
|
├── node_modules
├── .gitignore
├── (.eslintignore)
├── .eslintrc.json
|
├── package.json
├── (package-lock.json)
|
├── server.js
│
AS A reader who is always looking for new book suggestions
I WANT an application that finds me book recommendations based on my search input
SO THAT I can save books that interest me AND refer to them when it's time for a new book
The application must meet the following requirements:
GIVEN a book finding application that finds books based on user's selection
WHEN a user clicks on the link
THEN the application will open in Heroku
WHEN a user inputs a search criteria and clicks the search button
THEN the top three books related to the search input are displayed
WHEN a user clicks the save button
THEN the book will be saved to a Wishlist books
WHEN a user clicks the View Wishlist button
THEN the user will be directed to a page that displays all their saved books
WHEN a user clicks the remove button
THEN the book will be removed from the page
WHEN the user clicks on one of the books on the shelf
THEN a dropdown description of the book along with a site where they can purchase the book will display
WHEN the user examines the documentation of the application
THEN the user will see a folder structure that meets the MVC paradigm
WHEN the user examines the code of the application
THEN the user will see code that meets good quality coding standards
-
Elevator pitch: a one minute description of your application
-
Concept: What is your user story? What was your motivation for development?
-
Process: What were the technologies used? How were tasks and roles broken down and assigned? What challenges did you encounter? What were your successes?
-
Demo: Show your stuff!
-
Directions for Future Development
-
Links to to the deployed application and the GitHub repository. Use this guide for deploying your application to Heroku if you need a reminder on how to deploy!
-
Create a new directory where you want to save the repo.
-
Clone this repo using the ssh-key for the code.
-
Clone this repo:
git clone ssh-key-of-Repo
into your project directory. -
Open code in VS Code or another text-editor.
-
In an integrated terminal, run the code
node server.js
. -
You can also run the app from Heroku.
The goals above and the tutorial can be further understood with the following definitions:
Sequelize : the most popular Structured Query Language (SQL) database with a relational structure.
Display of the bookshelf:
Recommendations based on the user's input will be displayed in the following way:
Reference articles: w3schools - collapse
ClickMinded - button generator
** (Feb. 23, 2021) App and API call works when load test-view.html
but Heroku deployed app does not retrieve API and handlebars for each view. **
© 2021 Trilogy Education Services, LLC, a 2U, Inc. brand. Confidential and Proprietary. All Rights Reserved.