woojiahao / bookit

Book searching application
MIT License
8 stars 0 forks source link
android android-application api firebase firebase-auth firebase-realtime-database kotlin kotlin-android kotlin-android-extensions open-source webscraping xml

BookIt!

An open-source project for a book searching application on Android.

BookIt! leverages off of public APIs provided by book services to find the cheapest prices for books as well as to allow users to store books that they like.


Table of Contents:

  1. APIs
  2. Git
  3. Firebase
  4. Contributing

APIs

BookIt utilises public book APIs in order to load book data and provide users with information about a book.

APIs Used

Book Information:

Best-Sellers:

Prices

API resources:

Setting up APIs:

In order to access the previous APIs, you will need to set up accounts on the previous sites as a developer and request for API keys.

Note: For the Google Books API, you will need to create a new project, enable the Google Books API, add an API key and restrict it for Android apps. The general steps can be found here

Now that you have API keys for the APIs used, follow the following steps to get the application to use the APIs:

  1. Navigate to the assets folder in Android Studio
  2. Create a new file, called config.json
  3. Inside of config.json, add the following:
    {
    "google-books-api": "enter your key",
    "new-york-times-api": "enter your key",
    "good-reads-api": "enter your key"
    }
  4. Run the application

Git

Git Resources:

How to contribute?

  1. Make a fork of this repository onto your own GitHub
  2. After you have made the fork, clone it into your local machine
  3. Then, make a remote to this repository
  4. Every time there is a an update made to this repository, fetch and pull from the remote to this repository
  5. When you wish to make a change, add the change to your local copy, commit it and then make a Pull Request to this repository, I will take a look before accepting the changes

Set up commands:

git clone https://github.com/<github username>/bookit.git
git remote add upstream https://github.com/woojiahao/bookit.git
git fetch
git pull origin master

Contribution commands:

git add .
git commit -m "Commit message blah blah"
git push origin master

Firebase

Firebase Resources:

Setting up:

The general steps for Firebase is well-written during the Firebase Installation Guide for Android, so I will only be providing the information to fill in (those that aren't specified can be left to the defaults):

Project Name: BookIt

Billing Region: Singapore

Package Name: team.android.projects.com.bookit

App Nickname: BookIt

Debug signing certificate SHA-1: Follow these instructions to generate it

Detailed guides:

After setting up Firebase, navigate to the console and do the following:

  1. Under the Authentication tab, enable email address as the sign-in method
  2. Under the Database tab, create a Real-time Database (you will have to scroll down a little), and run it in test mode

Contributing

  1. Look through the issues and pick one that you can manage. If you are a beginner, you can filter the good first issue tag so as to view the issues that are much more manageable for a beginner.
  2. Find a feature/part of the code that you think can be improved or implemented an open an issue, I will take a look and if it is ideal, it will be approved and you can begin work on it.
  3. Documenting the code