Coder Social home page Coder Social logo

kaigionrails / sponsor-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ruby-no-kai/sponsor-app

0.0 1.0 4.0 1.65 MB

Conference sponsorships CRM for Kaigi on Rails

License: MIT License

Ruby 57.27% TypeScript 7.26% HTML 1.77% JavaScript 1.27% Sass 1.61% Haml 28.42% Procfile 0.05% Dockerfile 0.31% Jsonnet 2.03%

sponsor-app's Introduction

SponsorApp2

Development

rails s
yarn run watch

Environment variables

(RubyKaigi organizers: see also https://rubykaigi.esa.io/posts/815)

  • DATABASE_URL
  • ORG_NAME Your team name
  • DEFAULT_EMAIL_ADDRESS Default "From" address for outgoing emails
  • DEFAULT_EMAIL_HOST Message-ID host part for outgoing emails
  • DEFAULT_URL_HOST URL host used for outgoing emails

AWS

  • S3_FILES_REGION S3 region name
  • S3_FILES_BUCKET S3 bucket name
  • S3_FILES_PREFIX (optional)
  • S3_FILES_ROLE IAM Role ARN which allows s3:PutBucket to all objects on the bucket
    • You also have to supply a valid AWS credentials to the app in a standard SDK way, e.g. IAM instance profile, ECS task IAM role, and ENV['AWS_ACCESS_KEY_ID'].

GitHub

This app requires "GitHub App" with: Repository Metadata (Read-only), Repository Content (Read & Write). And you need to manually install the app to the repositories.

  • GITHUB_REPO specify in ":login/:repo" format; used for authorization.
  • GITHUB_CLIENT_ID
  • GITHUB_CLIENT_SECRET
  • GITHUB_APP_ID
  • GITHUB_CLIENT_PRIVATE_KEY (Base64 encoded DER)
    • openssl pkey -in /path/to/private-key.pem -outform der | openssl base64 -A
    • (or concat Base64 part of PEM into a one line)

But during development, you can pass $BACKDOOR_SECRET to the application, then go http://localhost:3000/admin/session/new?backdoor=BACKDOOR_SECRET&login=YOUR_GITHUB_LOGIN to login without genuine OAuth2 dance.

Slack

  • SLACK_WEBHOOK_URL

Sentry (optional)

  • SENTRY_DSN

Roadmap

  • Accept application
    • Logo upload
    • Confirmation Email
    • Authentication by one-time email
    • Separate billing contact
    • i18n
    • Unlisted forms
    • Reuse a past application to fill the form
  • Organizer Dashboard
    • Authentication
  • Editing history
    • Slack notification
  • Sponsor Management
    • Announcements
      • i18n
    • Portal
    • Additional tickets application
    • Booth details submission
  • Sponsor coorination
    • Email Broadcasts
    • Staff notes
    • Manage booth allotments
    • Manage custom sponsorship packages
  • CRM
    • Manage past applications
    • GitHub integration
    • Front integration
    • Esa integration
  • On-site
    • Attendee Registration Desk for sponsorship attendee tickets
  • Invoicing
    • Export to Google Spreadsheet(?)
  • Permissions
    • Staff with restricted access to a specific conference

Oversights

  • profile words limit
  • withdrawing

sponsor-app's People

Contributors

sorah avatar unasuke avatar amatsuda avatar attsumi avatar pupupopo88 avatar okuramasafumi avatar dependabot[bot] avatar horaotoko avatar asonas avatar fugakkbn avatar kanizmb avatar takahashim avatar machida avatar

Watchers

 avatar

sponsor-app's Issues

スポンサーブースの注意点が物理前提の表現になっているので変えたい

  • sponsor-app には、スポンサープラン設定時にスポンサーブースを設置できるかの設定ができる
  • それにより、スポンサーは申し込み時に「ブースを希望するか」の指定ができる
  • 申し込みが完了すると、スポンサーポータルで以下のような項目が表示される
    スクリーンショット 2022-04-24 19 10 16
    • (((欲を言うとここ表示もちょっとわかりやすくなるといいかもしれない?)))
  • 「申請する」を押すとこんなページに飛ぶ
    スクリーンショット 2022-04-24 19 10 40
    • ここの文章が物理前提なので、変えられたら良いなと思っている
    • 最悪「会場の」を消すだけでもよいかも?

スポンサーの紹介文を日本語前提に変えたい

背景

  • sponsor-app にはスポンサー申し込み時に「スポンサーページに掲載する紹介文」を登録できる機能がある(Sponsorship#profile)
  • 管理者はプラン毎に紹介文のワード数を指定できる機能がある (Plan#words_limit)
    • 例: Rubyプラン500ワード、Goldプラン200ワード
  • スポンサー申し込み時にワード数をバリデーションしているが、英語前提のチェックになっている
    def validate_word_count
    limit = plan&.words_limit_hard
    if limit && word_count > limit
    errors.add :profile, :too_long, maximum: (plan.words_limit || 0)
    end
    end
  • Kaigi on Rails は(まだ)日本前提イベントなので、スポンサーページに載せる紹介文は日本語にしてあげたい気持ちがある

受け入れ条件

  • 管理者:プラン設定時に文字数を指定できる
  • 申し込み者:指定した文字数以上の紹介文を登録するとバリデーションエラーになる

管理画面からブースの金額を設定できるようにする

現状、金額情報を持っているのはPlanだけなのだけど、ブースも金額を設定(データ保持)できるようにしたい。
なぜなら、請求書のデータを出力できるようになった場合、ブースをアサインされているところには自動で請求書の品目が追加されるようにしたいから。(手間が省けたり、間違いを防ぐことができる)

プランによって金額変えるとかは考えられないから、 Conference モデルに持ってしまっていいのではないかと思っている。

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.