Skip to content

Personal finance and wealth management app

License

Notifications You must be signed in to change notification settings

laradevio/maybe

 
 

Repository files navigation

Maybe: Your personal financial assistant

Maybe aims to be a personal financial assistant, helping you manage your money, make investments and grow your wealth.

We're aiming to be hyper-transparent, fully open-source and community-driven.

This codebase is currently in a very early stage of development, and is not product-ready yet. It has a lot of "leftovers" from an early prototype (which was not open-source).

Codebase

The codebase is vanilla Rails, Sidekiq w/ Redis, Puma, and Postgres. Quite a simple setup.

Setup

You'll need:

  • ruby >3 (specific version is in Gemfile)
  • postgresql (if using stock config/database.yml)
cd maybe
bundle install
rails db:setup
rake maintenance:institution_sync

You can then run the rails web server:

bin/dev

And visit https://localhost:5000

Read-only user setup

After you've set up the initial database, you need to create a read-only user for the AI to use.

Eventually we should build a setup script to help with this, but for now you need to manually run the following SQL in your maybe_ai_development database:

CREATE ROLE ai_user WITH LOGIN PASSWORD 'YOUR_UNIQUE_PASSWORD';

GRANT SELECT ON balances TO ai_user;
GRANT SELECT ON accounts TO ai_user;
GRANT SELECT ON connections TO ai_user;
GRANT SELECT ON conversations TO ai_user;
GRANT SELECT ON holdings TO ai_user;
GRANT SELECT ON investment_transactions TO ai_user;
GRANT SELECT ON messages TO ai_user;
GRANT SELECT ON metrics TO ai_user;
GRANT SELECT ON securities TO ai_user;
GRANT SELECT ON security_prices TO ai_user;
GRANT SELECT ON transactions TO ai_user;

Then, in your .env file you need to set the READONLY_DATABASE_URL to:

postgres:https://ai_user:YOUR_UNIQUE_PASSWORD@localhost/maybe_ai_development

External Services

Currently the app relies on a few external services:

The goal is to eventually move away from these services and bring everything in-house as much as possible, but for the app to fully function, you'll need API keys from those services.

You can find the necessary API keys in .env.example, which you can copy to .env and fill in the values.

Contributing

It's still very early days for this so your mileage will vary here and lots of things will break.

But almost any contribution will be beneficial at this point. Check the current Issues to see where you can jump in!

If you've got an improvement, just send in a pull request!

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

If you've got feature ideas, simply open a new issues!

Community

About

Personal finance and wealth management app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 57.8%
  • HTML 36.4%
  • JavaScript 3.1%
  • CSS 1.7%
  • Other 1.0%