Giter VIP home page Giter VIP logo

airlibris's Introduction

Airlibris

A Remix project to manage your book collection in Airtable. ๐Ÿ“™ ๐Ÿ“š ๐Ÿค˜

ย  ย 

Features:

  • Login using google OAuth
  • Scan barcode books
  • Retrieve books from ISBN number
  • Save new books in Airtable
  • List all books in Airtable

Demo available here.

Stack

  • Remix, typescript, TailwindCSS.
  • Deployable on Vercel.

Setup

Configure Airtable

Create an Airtable base named "Books", with the following fields:

  • id: Single line text
  • isbn: Single line text
  • title: Single line text
  • authors: Single line text
  • serie: Single line text
  • description: Long text
  • image: URL
  • categories: Single line text
  • publisher: Single line text
  • publishedDate: Single line text
  • pageCount: Number
  • language: Single line text

Copy the airtable base ID for later (a string starting by "app" in the airtable URL).

Generate your Airtable API key here, and copy it for later.

Configure Google Oauth

Create an OAuth 2.0 Client IDs here, with the following parameters:

Copy the Client ID and Client secret for later.

Deploy the project on Vercel

Once deployed, go to your Vercel "Project settings" > "Environment variables", and fill the following variables:

  • AIRTABLE_API_KEY: your Airtable API Key
  • AIRTABLE_BASE_ID: your Airtable Base ID (start with app...)
  • GOOGLE_AUTH_CLIENT_ID: your Google auth client ID
  • GOOGLE_AUTH_CLIENT_SECRET: your Google auth secret ID
  • ADMIN_EMAIL: your Google email to authorize access
  • SESSION_SECRET: any generated random string
  • SERVICE_URL: your vercel URL (aka https://[my-vercel-app].vercel.app)

Development

To run your Remix app locally, copy the .env.example file to .env, and complete it with the information collected above.

Then, install your project's local dependencies:

yarn install
yarn run dev

Open up http://localhost:3000 and you should be ready to go!

Thanks

A special thanks to Christoph Oberhofer, who has developed QuaggaJS. I've tried a few libs before this one, and it works like a charm!

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.