1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-08 06:55:21 +02:00
Maybe est une application web entièrement open source pour vos finances personnelles. Vous aurez à votre disposition tous les outils et calculatrices interactifs dont vous avez besoin pour visualiser et naviguer dans votre parcours financier. https://maybefinance.com/
Find a file
google-labs-jules[bot] 9833e1b482 Okay, I've implemented the ability to set up installments and recurring credit card transactions.
This means you can now schedule transactions for your credit cards, choosing between installment-based payments or recurring ones.

Here's what I changed:

- I added a new `ScheduledTransaction` model. This will keep track of all the details for these scheduled payments, like how often they occur, the number of installments, the date of the next payment, and so on.
- I set up connections between `ScheduledTransaction` and `Account`, `Category`, and `Merchant`.
- I created a background process, `CreateTransactionsFromScheduledJob`. This process will run regularly to:
    - Find any scheduled transactions that are due.
    - Create the necessary `Transaction` and `Entry` records for them.
    - Update the `next_occurrence_date` for the scheduled transaction.
    - Manage the lifecycle of these transactions. For installments, this means increasing the count and removing the schedule when it's complete. For recurring transactions, it means removing the schedule if it's past its end date.
- I updated the user interface for Credit Cards:
    - I added a new section under each credit card where you can see and manage its scheduled transactions.
    - I implemented a new nested controller, `CreditCards::ScheduledTransactionsController`, to handle creating, viewing, editing, and deleting these scheduled transactions.
    - I created new views and partials to display the list of scheduled transactions and a form for creating or editing them, using Turbo Streams for a smoother experience.
- I made sure that your existing transaction views will correctly show transactions generated by this new process.
- I added model tests for `ScheduledTransaction`, job tests for `CreateTransactionsFromScheduledJob`, and controller/integration tests for the new UI.

**Important Notes:**
- I generated the database migration for `ScheduledTransaction` (`db/migrate/20250524135137_create_scheduled_transactions.rb`), but I couldn't run it because of an ongoing PostgreSQL issue in my automated environment. You'll need to run this migration manually.
- Similarly, I've written the new tests, but I couldn't execute them to confirm they pass due to the same database connectivity problem. You'll need to run and verify these tests in an environment where PostgreSQL is working correctly.
2025-05-24 14:10:41 +00:00
.cursor/rules Pre-launch design sync with Figma spec (#2154) 2025-04-30 18:14:22 -04:00
.devcontainer Fix Docker builds after package updates 2025-05-20 14:00:31 -04:00
.github Plaid sync domain improvements (#2267) 2025-05-23 18:58:22 -04:00
app Okay, I've implemented the ability to set up installments and recurring credit card transactions. 2025-05-24 14:10:41 +00:00
bin Update render-build.sh 2025-05-07 10:00:24 -05:00
config Okay, I've implemented the ability to set up installments and recurring credit card transactions. 2025-05-24 14:10:41 +00:00
db Okay, I've implemented the ability to set up installments and recurring credit card transactions. 2025-05-24 14:10:41 +00:00
docs/hosting Update docker.md 2025-05-02 08:52:19 -04:00
lib Tweak dup securities data migration 2025-05-22 16:02:34 -04:00
log Initial commit 2024-02-02 09:05:04 -06:00
public Feature: Implement Mobile Responsiveness (#2092) 2025-04-18 08:23:10 -05:00
storage Initial commit 2024-02-02 09:05:04 -06:00
test Okay, I've implemented the ability to set up installments and recurring credit card transactions. 2025-05-24 14:10:41 +00:00
tmp Initial commit 2024-02-02 09:05:04 -06:00
vendor Sankey Diagram (#2269) 2025-05-20 13:31:05 -05:00
.dockerignore Initial commit 2024-02-02 09:05:04 -06:00
.editorconfig Rubocop updates (#1118) 2024-08-23 10:06:24 -04:00
.env.example Use Redis for ActiveJob and ActionCable (#2004) 2025-03-19 12:36:16 -04:00
.env.local.example Initial pass at Synth-based ticker selection (#1392) 2024-10-30 09:23:44 -04:00
.env.test.example Data provider simplification, tests, and documentation (#1997) 2025-03-17 11:54:53 -04:00
.erb_lint.yml Handle nil name for entries (#1550) 2024-12-16 12:52:11 -05:00
.gitattributes Initial commit 2024-02-02 09:05:04 -06:00
.gitignore Match Plaid holding values on current day (#2212) 2025-05-06 09:25:49 -04:00
.rubocop.yml Rubocop updates (#1118) 2024-08-23 10:06:24 -04:00
.ruby-version Bump ruby to 3.4.4 2025-05-20 09:09:10 -04:00
biome.json Add BiomeJS for Linting and Formatting JavaScript relates to #1295 (#1299) 2024-10-14 17:09:27 -04:00
compose.example.yml Config: put Redis service in Docker local network (#2223) 2025-05-09 09:52:56 -04:00
config.ru Initial commit 2024-02-02 09:05:04 -06:00
CONTRIBUTING.md Fix: Filter categories by transaction type in forms (#2082) 2025-04-25 10:18:10 -04:00
Dockerfile Fix Docker builds after package updates 2025-05-20 14:00:31 -04:00
Gemfile Bump ruby to 3.4.4 2025-05-20 09:09:10 -04:00
Gemfile.lock Bump ruby to 3.4.4 2025-05-20 09:09:10 -04:00
LICENSE Initial commit 2024-02-02 09:05:04 -06:00
package-lock.json Personal finance AI (v1) (#2022) 2025-03-28 13:08:22 -04:00
package.json Personal finance AI (v1) (#2022) 2025-03-28 13:08:22 -04:00
Procfile.dev New onboarding, trials, Stripe integration (#2185) 2025-05-01 16:47:14 -04:00
Rakefile Initial commit 2024-02-02 09:05:04 -06:00
README.md Update README.md 2025-04-28 09:03:19 -05:00

maybe_hero

Maybe: The personal finance app for everyone

Get involved: DiscordWebsiteIssues

Backstory

We spent the better part of 2021/2022 building a personal finance + wealth management app called, Maybe. Very full-featured, including an "Ask an Advisor" feature which connected users with an actual CFP/CFA to help them with their finances (all included in your subscription).

The business end of things didn't work out, and so we shut things down mid-2023.

We spent the better part of $1,000,000 building the app (employees + contractors, data providers/services, infrastructure, etc.).

We're now reviving the product as a fully open-source project. The goal is to let you run the app yourself, for free, and use it to manage your own finances and eventually offer a hosted version of the app for a small monthly fee.

Maybe Hosting

There are 2 primary ways to use the Maybe app:

  1. Managed (easiest) - we're in alpha and release invites in our Discord
  2. Self-host with Docker

Contributing

Before contributing, you'll likely find it helpful to understand context and general vision/direction.

Once you've done that, please visit our contributing guide to get started!

Local Development Setup

If you are trying to self-host the Maybe app, stop here. You should read this guide to get started.

The instructions below are for developers to get started with contributing to the app.

Requirements

  • See .ruby-version file for required Ruby version
  • PostgreSQL >9.3 (ideally, latest stable version)

After cloning the repo, the basic setup commands are:

cd maybe
cp .env.local.example .env.local
bin/setup
bin/dev

# Optionally, load demo data
rake demo_data:reset

And visit http://localhost:3000 to see the app. You can use the following credentials to log in (generated by DB seed):

  • Email: user@maybe.local
  • Password: password

For further instructions, see guides below.

Multi-currency support

If you'd like multi-currency support, there are a few extra steps to follow.

  1. Sign up for an API key at Synth. It's a Maybe product and the free plan is sufficient for basic multi-currency support.
  2. Add your API key to your .env file.

Setup Guides

Repo Activity

Repo Activity

Maybe is distributed under an AGPLv3 license. " Maybe" is a trademark of Maybe Finance, Inc.