Giter VIP home page Giter VIP logo

hex's Introduction

Lukas Karlsson (@lukwam) ๐Ÿ‘‹

Cloud Architect and Developer Advocate (formerly) at the Broad Institute of MIT and Havard (@broadinstitute).

โœ… Certifications:

โœจ Google Developer Expert specializing in Google Cloud Platform.

๐Ÿ“… Community Organizer:

๐Ÿ’โ€โ™‚๏ธ Pronouns: he/him/his

Google Developer Experts Cloud Badge

hex's People

Contributors

dependabot[bot] avatar lukwam avatar

Watchers

 avatar

hex's Issues

Create a cloud function that can import the Google Sheet

Once there is a Google Sheet created that contains all of the puzzles (see #2), create a Cloud Function that can read in that sheet and import the data into Cloud Firestore.

variety_puzzles collection:

  • name: title of the puzzle (string)
  • publication: where it was originally published (publication_id)
  • publication_date: when it was originally published (date)
  • page_link: link to the puzzle page, if it's still available
  • puzzle_link: link to the puzzle document for direct download, if available
  • answer_link: link to the puzzle answer document, for direct download, if available

publications collection:

  • id: publication index, auto-increment
  • name: name of the publication
  • link: link to the publication (if available)
  • description: detailed description

books collection:

  • id: book index, auto-increment
  • name: title of the book
  • isbn: isbn of the book
  • status: in print? out of print?
  • link: link to purchase book, if available
  • description: description of the book

Create a sheet of all the hex puzzles

  • One tab with all the Atlantic Puzzler puzzles, numbered, with issue dates and links where available
  • One tab with all the WSJ puzzles, numbered, with issue dates and links
  • One tab for each of the Atlantic Puzzler books, numbered and referencing the main Atlantic index

Import Archive Images from Drive into a Bucket

Currently, we have a well-organized archive of many of the hex puzzles from 1997-1995 with most of the puzzles and solutions scanned from the pages of The Atlantic.

Google Drive is a great way to collect these files and organize them, but we need a way to store the archive files so they can be served easily from a website and converted to images and such.

For this, we need a way to sync the files from Drive to Cloud Storage.

To do this, we can use a Cloud Function.

The cloud function should first collect a lit of all the files within the following Google Shared Drive Folder:

https://drive.google.com/drive/folders/16gAEPIqARsXaHjtzhZUBrZgJwqVl2utN

Within there, there is a folder for each year from 1977-2009. Within each folder there is are several files, but the two we care about area:

  • YYYY-MM-DD Puzzle Title.pdf (puzzle)
  • YYYY-MM-DD Puzzle Title (solution).pdf (solution)

Once we have the list, for each puzzle, we should also get the list of all puzzles from firestore. That will allow us to verify the puzzle information is accurate before we store it. We may want to store the files using the ID from the database instead of the name from firestore?

We should store PDFs, but for each file, we probably also want to have the PNG files and thumbnails. Use the puzzle ID for all of these?

We will also need a report that shows what we have and don't have so we can complete the archive.

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.