node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

bookshare

Book Share

Book Share allows users to connect through their love of reading by sharing their favorite books with friends.

Table of Contents

  1. Requirements
  2. Development
    1. Installing Dependencies
  3. Features
  4. Routes
  5. Schema
  6. Testing
  7. Roadmap
  8. Team
  9. Contributing

Requirements

  • React
  • Node
  • mySql

Development

Installing Dependencies

From within the root directory:

npm install
bower install
 

If you are using Mac OSX or Linux run

shell setup.sh

From the root directory, this script is assuming you have node and bower installed

Features

  • Secure sign-in with salting and hashing
  • Google Books API Integration
  • Implemented SASS as a preprocessor
  • Generated Gruntfile to clean build files, transpile with webpack and generate style.css with SASS
  • Implemented MySQL Database
  • React front-end
  • Redux integration on the front-end
  • Implemented Node with Express library for the server

Routes

Route Method Controller Handler
/api/friendRequests POST User Controller addFriend
/api/friends GET User Controller viewAllFriends
/api/user/:id GET User Controller getUser
/api/findFriends/:query GET User Controller findFriends
/api/friendRequests GET User Controller getFriendRequests
/api/acceptFriendRequest POST User Controller acceptFriendRequest
/api/deleteFriendRequest POST User Controller deleteFriendRequest
/api/friends/:id/books GET Book Controller viewFriendBooks
/api/books GET Book Controller addBook
/api/books DELETE Book Controller viewMyShelf
/api/friendsBooks/:id GET Book Controller viewFriendBook
/api/friendsBooks/:id GET Book Controller deleteBook
/api/bookRequest POST Book Controller makeBookRequest
/api/deleteBookRequest POST Book Controller deleteBookRequest
/api/acceptBookRequest POST Book Controller acceptBookRequest
/api/myBookRequests GET Book Controller getRequestedBooksToFriends
/api/myRequestedBooks GET Book Controller getRequestedBooksToMe
/api/lentBooks GET Book Controller getLentBooks
/api/borrowedBooks GET Book Controller getBorrowedBooks
/api/getAllBooksFromFriends GET Book Controller getAllBooksFromFriends
/api/tradeRequests POST Book Controller makeTradeRequest
/api/deleteTradeRequest POST Book Controller deleteTradeRequest
/api/acceptTradeRequest POST Book Controller acceptTradeRequest
/api/completeTradeRequest POST Book Controller completeTradeRequest
/api/viewFriendBooks POST Book Controller viewFriendBooks

Schema

Bookshare database schema

Testing

Create bookshare_test database.

From within the root directory: cd into server directory and run the following to start testing.

mocha

Roadmap

View the app roadmap here

Team

Yasu Flores

Leorina Baybay

Jonathan Blaising

Contributing

See CONTRIBUTING.md for contribution guidelines.