An API to help Granblue Fantasy players create and share teams and strategies.
Find a file
Justin Edmund c0922203a7
Create pipeline for importing data via PRs (#148)
* Add table for data version and migrate

* Modify migration and re-migrate

* Create data_version.rb

Adds a model for DataVersion

* Add aws-sdk-s3 and create aws_service.rb

AwsService handles streaming game image files from the Granblue Fantasy server to our S3 instance.

* Add importers

The Importer libraries take CSV data and import them into the database for each type. We currently support characters, summons and weapons.

* Add downloaders

Downloaders take Granblue IDs and download images for those items from the Granblue Fantasy server in all relevant sizes.

Downloaders can download to disk or stream the file directly to S3.

* Create data_importer.rb

* Fetches a list of all CSV files present in the updates folder
* Checks which have already been imported
* Sends unimported data to the appropriate Importer to handle

* Create download_manager.rb

Creates an appropriate downloader for each Granblue ID it receives

* Update download_images.rake

Most of this task has been extracted into the Downloader libraries

* Update import_data.rake

* Create deploy.rake

This task is to be run as a post-deploy script. It checks for new unimported data, imports it, then downloads the relevant images to S3 or local disk depending on the parameters provided.

* Update credentials.yml.enc

* Began working on a README and added example CSVs

* Modify importer to handle updates

This way we can also add FLBs and other uncaps easier.

* Updates only require values that will change

When updating a row, fields that don't have a provided value will not be changed

* Rebuild search indices in post deploy

* Clean up logs with LoggingHelper

* More logging adjustments

Trying to get a nice-looking output

* Change some ASCII characters

* Final ASCII changes

* Fix issues with Summon and Weapon importers

* Finish README for contributing
2025-01-13 05:33:04 -08:00
app Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
bin June 2023 Update (#102) 2023-06-19 03:53:48 -07:00
config Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
db Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
lib Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
log Restart on Rails 2020-09-14 18:30:54 -07:00
public Create favicon.ico 2022-02-04 01:10:02 -08:00
spec Update seeds and fix deletion bug (#110) 2023-06-23 20:34:08 -07:00
storage Restart on Rails 2020-09-14 18:30:54 -07:00
test Restart on Rails 2020-09-14 18:30:54 -07:00
tmp Restart on Rails 2020-09-14 18:30:54 -07:00
vendor Restart on Rails 2020-09-14 18:30:54 -07:00
.env Hotfix so weapon key search translates ints to arrays (#140) 2023-12-30 06:20:22 -08:00
.gitignore Small Rails 7 configuration changes (#72) 2023-02-05 00:56:27 -08:00
.ruby-gemset Add ruby-gemset and update Gemfile.lock 2023-01-03 08:05:03 -08:00
.ruby-version Revert to Ruby 3.0.0 2023-01-02 22:07:15 -08:00
.solargraph.yml Create .solargraph.yml 2020-09-25 10:41:23 -07:00
config.ru Restart on Rails 2020-09-14 18:30:54 -07:00
Gemfile Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
Gemfile.lock Create pipeline for importing data via PRs (#148) 2025-01-13 05:33:04 -08:00
Rakefile Restart on Rails 2020-09-14 18:30:54 -07:00
README.md Restart on Rails 2020-09-14 18:30:54 -07:00

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

  • ...