Skip to content

An API to help Granblue Fantasy players create and share teams and strategies.

License

Notifications You must be signed in to change notification settings

jedmund/hensei-api

Repository files navigation

Hensei API

Project Overview

Hensei is a Ruby on Rails API for managing Granblue Fantasy party configurations, providing comprehensive tools for team building, character management, and game data tracking.

Prerequisites

  • Ruby 3.3.7
  • Rails 8.0.1
  • PostgreSQL
  • AWS S3 Account (for image storage)

System Dependencies

  • Ruby version manager (rbenv or RVM recommended)
  • Bundler
  • PostgreSQL
  • Redis (for background jobs)
  • ImageMagick (for image processing)

Initial Setup

1. Clone the Repository

git clone https://github.com/your-organization/hensei-api.git
cd hensei-api

2. Install Ruby

Ensure you have Ruby 3.3.7 installed. If using rbenv:

rbenv install 3.3.7
rbenv local 3.3.7

3. Install Dependencies

gem install bundler
bundle install

4. Database Configuration

  1. Ensure PostgreSQL is running
  2. Create the database configuration:
rails db:create
rails db:migrate

5. AWS S3 Configuration

Hensei requires an AWS S3 bucket for storing images. Configure your credentials:

EDITOR=vim rails credentials:edit

Add the following structure to your credentials:

aws:
  s3:
    bucket: your-bucket-name
    access_key_id: your-access-key
    secret_access_key: your-secret-key
    region: your-aws-region

6. Run Initial Data Import (Optional)

rails data:import

7. Start the Server

rails server

Environment Variables

While most configurations use Rails credentials, you may need to set:

  • DATABASE_URL
  • RAILS_MASTER_KEY
  • REDIS_URL

Performance Considerations

  • Use Redis for caching
  • Background jobs managed by Sidekiq
  • Ensure PostgreSQL is optimized for full-text search

Security

  • Always use rails credentials:edit for sensitive information
  • Keep your master.key secure and out of version control
  • Regularly update dependencies

Deployment

Recommended platforms:

  • Railway.app (We use this)i98-i
  • Heroku
  • DigitalOcean App Platform

Deployment steps:

  1. Precompile assets: rails assets:precompile
  2. Run migrations: rails db:migrate
  3. Start the server with a production-ready web server like Puma

Troubleshooting

  • Ensure all credentials are correctly set
  • Check PostgreSQL and Redis connections
  • Verify AWS S3 bucket permissions

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0-only) with additional non-commercial restrictions.

Key points:

  • You are free to use and modify the software for non-commercial purposes
  • Any modifications must be shared under the same license
  • You must provide attribution to the original authors
  • No warranty is provided

See the LICENSE file for full details.

Contact

For support, please open an issue on the GitHub repository.

About

An API to help Granblue Fantasy players create and share teams and strategies.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages