Books are the treasured wealth of the world. -- Henry David Thoreau
Our team considered the challenges that Coronavirus has presented and the new normal many of us are facing -- spending more time at home, more 'free time' on our hands, a wealth of entertainment options to pass that time.
What better way to pass this time, than by diving into a Book? As Nora Ephron says:
Reading is escape, and the opposite of escape; it’s a way to make contact with reality after a day of making things up, and it’s a way of making contact with someone else’s imagination after a day that’s all too real.
Buy the Book! is an online Bookstore for anyone to find their next great read. Select a book from one or more of our curated categories and see how reading can change your life.
- At first, you'll be presented with a selection of our curated collection
- Select a Book to see the Description and Availability
- Click ☰ to view and choose from our categories
- Add a Book to Cart -- feel free to pick more than one!
- Check out what's in your Cart 🛒, and Checkout to complete your order
- Click 🏠 or Buy the Book! to get back home
Note: This application requires a local MySQL Database
To install and use locally,
git clone
the repository to a local directory- In the terminal,
cd
to the repository directory and run
npm i
-
In your local SQL Instance, run the
Schema.sql
,author_seed.sql
, andbooks_seed.sql
queries to populate the data -
Then start the application with:
node server.js
- You can then navigate to http://localhost:8080/ in your browser of choice
All that being said, you can find the deployed application on Heroku. Buy the Book online and save yourself some time and effort!
This application is built with Materialize CSS Framework and Handlebars for the front end.
The back end uses Node.js and Express.js, backed by a MySQL database with a Sequelize ORM.
- Materialize - CSS Framework
- Handlebars - Handlebars is a simple templating language
- Node.js - JavaScript runtime
- Express.js - Lightweight web application framework for Node.js
- mysql2 - MySQL client for Node.js with focus on performance
- Sequelize - Promise-based ORM (Object Relational Mapping) for Node.js
Additional Technologies used are:
- lodash - JavaScript Library that provides utility functions -- used for Object Mapping in this app
- accounting - JavaScript Library providing simple and advanced number, money and currency formatting
Team Weezer