Skip to content

Application Notes

Kat Marchán edited this page Jun 29, 2023 · 6 revisions

Services

Banchan uses the following third-party services as part of its development and deployment:

  • GitHub - Code hosting, project management
  • Fly.io - Platform + database hosting and clustering
  • Amazon S3 - File/image uploads storage
  • Plausible - Web analytics
  • Netlify - Landing page hosting, beta signup email form collection
  • Stripe - Stripe Connect Express with Stripe Tax for payment processing and tax management
  • Sendgrid - Sending emails (both transactional and marketing)
  • Sentry.io - Logging and error logging
  • Google - OAuth login
  • Discord - OAuth login

Services Wishlist

Stuff we don't use yet, but might be nice to afford in the future:

  • Zendesk - Support tickets, although we might be able to just build our own?
  • Oban Web - Better observability into Oban queues. Kinda pricey for what we get, though.

Working with Stripe

Stripe has a number of credit card and account numbers for testing.

Of note:

  • 4000000000000077: Instantly succeeds a payment, bypassing the pending period (so the amount can be immediately paid out)
  • 4000000000000002: Card declined
  • 4242424242424242: US-based transaction that immediately succeeds but is subject to the payout waiting period (7 days for an account's first payout, even in test mode)

Environment Variables

There's a number of env vars you need to get set up to get up and running, depending on your needs/environment. See Environment Variables.

Details to Know

  • Phoenix templates are not in used due to incompatibilities with SurfaceUI.
  • router.ex to view all URLs and their routes
  • priv/repo/migrations/ and lib/banchan/ for database schema and migrations

Dependencies of Note

Automatically installed as part of the initial install of the repo, here are a few dependencies to be aware of that the project is built on:

Clone this wiki locally