GithubHelp home page GithubHelp logo

project2's Introduction

The Book Shelf

The Book Shelf is a full stack web application where a user can register, browse in a book database, select books and add them to a purchasing cart, keep record of user’s purchase history, and request authentication to have access to the main functionality.

Badges

Code quality and validation

Language grade: JavaScript shields.io shields.io

Repository Status

shields.io shields.io

License

GitHub

Table of contents

The challenge

Create a Full Stack Web Application with the following features:

  • Use a Node and Express web server
  • Backed by a MySQL database with a Sequelize ORM
  • Use an existing public dataset to power the database (Kaggel 7K Books)
  • Migration strategy using seeds and schema files
  • Routes for retrieving and adding new data
  • Incorporate authentication (Passport, BCrypt)
  • Folder structure that meets the MVC paradigm
  • Use Handlebars for server-side templating
  • Protected API keys in Node with environment variables
  • Polished front end/UI
  • Meet good-quality coding standards (indentation, scoping, naming, etc.)
  • Deployed using Heroku (with data)

The development process

In order to accomplish the challenge, the following steps were done:

  1. Brain storming to define the project main concept.
  2. External datasets research.
  3. Define the purpose, and concept of the application.
  4. Define the team members roles.
  5. Define MVPs (Minimum Viable Products) and due dates.
  6. Create sketches.
  7. Define the routes, requests and responses structure.
  8. Front end and back end coding.
  9. Integrate full stack application.
  10. Final review and proper documentation.

MVPs

The Output

With the described process we were able to create an angaging, useful and efficient full stack web application.

User stories

  1. As a user I want to navigate through categories, and select a book, so I can read detail information about it
  2. As a user I want to select books, add them to a purchasing cart, review information and confirm purchase, so I will receive a confirmation of my operation.
  3. As a user I want to pass through an authentication process, so that I can feel confident that the site is secure and keep the record of my operations.

The application

Screenshot1 Screenshot2 Screenshot3 Screenshot4 Screenshot5 Screenshot6

Installation and Usage

The project was uploaded to GitHub at the following repository: https://github.com/jorguzman100/project2

You can access the deployed application with the Heroku link: https://safe-basin-04900.herokuapp.com/

To install the project follow these steps:

  1. Clone the application from GitHub with:

    • git clone [clone link from GitHub]
  2. From the root folder, install the dependencies with:

    • npm install
  3. Run the app with:

    • node server.js

Credits, tools and other references

Colaborators

Our appreciation for those who have contributed to the project:

Front End

Anel Ramirez

Front End

Jimena Pereda

Project Leader and BackEnd

Jorge Guzman

Third Party Assets

Kaggle Datasets

Passport Authentication

BCrypt hash password

Balsamiq

Moment.js

Bootstrap

Font Awesome

Shields.io

LGTM

Markup Validation Service

Contributing

  • Pull requests are welcome.
  • For major changes, please open an issue first to discuss what you would like to change.
  • Please make sure to update tests as appropriate.

Questions

If you have questions or you want to share comments, we will be glad to hear from you. Please contact us at [email protected].

project2's People

Contributors

jorguzman100 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.