Git Product home page Git Product logo

hawkbook's Introduction

Circle CI Code Climate Test Coverage

README

This README would normally document whatever steps are necessary to get the application up and running.

Things you may want to cover:

  • Ruby version

  • System dependencies

  • Configuration

  • Database creation

  • Database initialization

  • How to run the test suite

  • Services (job queues, cache servers, search engines, etc.)

  • Deployment instructions

  • Local Database

postgres -D /usr/local/var/postgres &

TODO

  • Code: Homepage

  • Code: Model creation (messaging, user, college, book, social auth)

  • Code: Passwordless Login with Authy

  • Code: Venmo Integration (omni-auth venmo)

  • Code: Social Integration (profile completion)

  • Code: Affiliate Integration (rent/buy)

  • Code: ISBN Lookup Integration

    • Check sum of ISBN numbers before calling
    • Check local db for ISBN before calling
    • ISBN lookup example
    https://www.googleapis.com/books/v1/volumes?q=isbn:0436203855&key=AIzaSyDwEcFpgoqCxG-exJUWgn0Kr6nPDU3Vnm4
    
  • Code: Barcode scanner

  • Code: Android App using React.js

  • Code: iOS App using React.js

  • Marketing: Email Collection for launch

Done

  • Setup: Heroku Deployments
  • Setup: Initialize Rails App
  • Setup: CircleCI with Deployments to Heroku
  • Setup: Code Climate

User flows

Onboarding

  1. User has downloaded the app
  2. Screen "Hawkbook allows scholars to buy and sell textbooks to each other"
  3. Screen "Scan a book's barcode to sell it"
  4. Screen "Approve a buyer and meet up to complete the sale"

Sign up/Sign in

  1. User is prompted to enter their .edu email address
  2. User clicks a link in the email 1. First time users get a new User record and get the Device activated 2. Returning visitors get the Device activated
  3. This is the menu screen
  4. Search
  5. My Books
  6. Profile and Messages appear with less importance

My Books (Listings)

  1. Sell
  2. Active
  • View
    • Edit
    • Cancel
  1. Pending
  • View
    • Edit
    • Cancel
  1. Sold
  • View
    • Refund
  1. Cancelled
  • View
    • Restore

Sell

  1. Barcode scanner appears prompting the user to scan for barcodes
  2. All barcode lookups will first check the local Books table, if nothing is found then it calls the Google Books API
  3. The user can alternatively search by ISBN manually
  4. Successful searches store the data in the Books table as sanitary
  5. The user will add price and optionally: condition, photo, professor, course code to the listing
  6. User returns to their listing page, prompted to add their name, photo, and connect venmo if they haven't already done so.

Manage

  1. User can update any of the listing data and mark the book as sold or cancel the sale
  2. User can refund sales that were made through venmo

Search

  1. User can enter into the search field or select the barcode scanner
  2. At the top of the results page is the ability for the user to sell
  3. Results will be filtered based on ISBN, title, course, professor, author
  4. We can also ping the google books api again with book titles we've found
  5. Viewing a listing will have a CTA for "I'm interested", which will create a Match and start a Message with the seller

Messaging

  1. Messages can be sent between the buyer/seller
  2. Seller has CTA to "Sell to buyer", which marks the Book status as pending
  3. At this point the Seller can Purchase the book for the listing price, which will set the Book status as sold and create a Sale.
  4. They'll need to meet up somewhere to complete the sale.

Database Schema

Users college_id name photo_url

Colleges tld name

Devices user_id token key active

Emails user_id email verified

Listings user_id college_id book_id professor course price condition photo_url status (active, pending, sold, cancelled)

Books title subtitle description publisher published_date language page_count isbn_10 isbn_13 sanitary

Authors name

AuthorsBooks book_id author_id

Sales listing_id seller_id buyer_id price refunded

Messages seller_id buyer_id body

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.