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 &
-
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
- Setup: Heroku Deployments
- Setup: Initialize Rails App
- Setup: CircleCI with Deployments to Heroku
- Setup: Code Climate
- User has downloaded the app
- Screen "Hawkbook allows scholars to buy and sell textbooks to each other"
- Screen "Scan a book's barcode to sell it"
- Screen "Approve a buyer and meet up to complete the sale"
- User is prompted to enter their .edu email address
- 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
- This is the menu screen
- Search
- My Books
- Profile and Messages appear with less importance
- Sell
- Active
- View
- Edit
- Cancel
- Pending
- View
- Edit
- Cancel
- Sold
- View
- Refund
- Cancelled
- View
- Restore
- Barcode scanner appears prompting the user to scan for barcodes
- All barcode lookups will first check the local Books table, if nothing is found then it calls the Google Books API
- The user can alternatively search by ISBN manually
- Successful searches store the data in the Books table as sanitary
- The user will add price and optionally: condition, photo, professor, course code to the listing
- User returns to their listing page, prompted to add their name, photo, and connect venmo if they haven't already done so.
- User can update any of the listing data and mark the book as sold or cancel the sale
- User can refund sales that were made through venmo
- User can enter into the search field or select the barcode scanner
- At the top of the results page is the ability for the user to sell
- Results will be filtered based on ISBN, title, course, professor, author
- We can also ping the google books api again with book titles we've found
- Viewing a listing will have a CTA for "I'm interested", which will create a Match and start a Message with the seller
- Messages can be sent between the buyer/seller
- Seller has CTA to "Sell to buyer", which marks the Book status as pending
- 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.
- They'll need to meet up somewhere to complete the sale.
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