Skip to content

arjunrajkumar/payment_reminder

Repository files navigation

PaymentReminder

AI accounts-receivable inbox that gets freelancers and small teams paid faster — run by you or your agent.

Tech Stack

  • Ruby 3.4.5
  • Rails 8.1.3
  • SQLite
  • Hotwire: Turbo and Stimulus
  • Importmap for JavaScript
  • Propshaft for assets
  • Solid Cache, Solid Queue, and Solid Cable
  • Puma web server
  • Kamal and Docker for deployment
  • Minitest, Capybara, and Selenium for testing

Development

This app uses Ruby 3.4.5 and Rails 8.1.3.

bin/setup
bin/rails server

AI-assisted setup

If you use a local coding agent like Codex or Claude Code, you can clone this repo, open the folder in the agent, and paste this:

Please set up PaymentReminder locally.

1. Read README.md and AGENTS.md first.
2. Make sure Ruby 3.4.5 is active. If the system Ruby is used by mistake, switch to the project Ruby with mise, asdf, rbenv, or the local tool available on this machine.
3. Run bin/setup.
4. Run bin/rails db:prepare.
5. Run bin/rails test and tell me whether it passes.
6. If I want Xero connected, help me configure Rails credentials with:

   xero:
     client_id: my-xero-client-id
     client_secret: my-xero-client-secret
     redirect_uri: http://localhost:3000/xero/callback
     webhook_signing_key: my-xero-webhook-signing-key

   If I want Stripe connected, help me configure Rails credentials with:

   stripe:
     client_id: my-stripe-connect-client-id
     secret_key: my-stripe-secret-key
     redirect_uri: http://localhost:3000/stripe/callback
     webhook_signing_secret: whsec_my-stripe-webhook-secret

   Do not ask me to paste secrets into chat. Open the credentials editor and wait while I type them locally.
7. Start the app with bin/rails server and tell me the localhost URL.

This gives the agent enough context to install dependencies, prepare the database, verify the app, and guide credential setup without requiring a long manual checklist.

Xero

Create a Xero OAuth 2.0 app and configure its redirect URI to:

http://localhost:3000/xero/callback

Then edit Rails credentials:

bin/rails credentials:edit

Add:

xero:
  client_id: your-client-id
  client_secret: your-client-secret
  redirect_uri: http://localhost:3000/xero/callback
  webhook_signing_key: your-webhook-signing-key

For local webhook testing, expose your local app with a tunnel and configure the Xero webhook delivery URL to:

https://your-tunnel.example/invoice_sources/webhooks/xero

Stripe

Create a Stripe Connect OAuth application and configure its redirect URI to:

http://localhost:3000/stripe/callback

Then edit Rails credentials:

bin/rails credentials:edit

Add:

stripe:
  client_id: your-connect-client-id
  secret_key: your-stripe-secret-key
  redirect_uri: http://localhost:3000/stripe/callback
  webhook_signing_secret: whsec_your-webhook-secret

PaymentReminder uses the connected Stripe account id returned by OAuth to read invoices through the Stripe API.

For local webhook testing with the Stripe CLI:

stripe listen --forward-to localhost:3000/invoice_sources/webhooks/stripe

After credentials are configured, sign in and open /invoice_sources to connect Xero or Stripe.

License

PaymentReminder is licensed under the GNU Affero General Public License v3.0. See LICENSE.

About

Accounts-receivable inbox that gets freelancers and small teams paid faster. Run by you or your agent.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages