🚨 NOTE: This codebase is no longer being maintained. The marketing repo we're actively working on is located at maybe-finance/marketing.
This was the repo for the former marketing site for Maybe, an OSS personal finance and wealth management platform.
The marketing site was home to a half dozen financial mini-tools and dozens of in-depth articles on personal finance.
- Install Ruby (directions below use the
rbenv
method)- Install
rbenv
(docs) cat .ruby-version
in the root of the project to find required Ruby versionrbenv install x.x.x
rbenv global x.x.x
- sets Ruby version used byrbenv
- Install
- Install Ruby on Rails (helpful guide here)
- Install Postgres 12.x
- Create a Postgres user (Rails defaults the Postgres user to your computer's username)
- Find the Bundler version at the bottom of
Gemfile.lock
and install that version withgem install bundler -v x.x.x
- Run
bin/setup
Run the app using:
bin/dev
While this app does not have extensive testing setup, as a sanity check, there are a few basic integration tests for the mini-tools along with unit tests as necessary.
All integration tests have the naming convention testname.integration.test.(ts|tsx)
and should be placed in the __tests__
folder in the appropriate tool.
All unit tests have the naming convention testname.unit.test.(ts|tsx)
and should be placed next to the relevant file being tested.
To run the tests:
yarn test # runs all tests
yarn test:unit
yarn test:integration
Signup for an account on twelvedata.com and export your api key:
rake equity_prices:sync
GET /api/equity_prices/BTCUSD
Signup for an account on coinmarketcap.com/api and export your api key:
rake market_cap:sync
In order to add, remove or update a fund you need to perform the following steps:
Fund
Update the funds file (app/javascript/tools/crypto-index-fund/data/funds.json
) as you want.
Note: The top 4 currencies will have the logo displayed in the fund select.
If you are not including a new currency, you are done.
If you are including a new currency, you need to continue with the next steps.
Name, color and logo
Run the script app/javascript/tools/crypto-index-fund/helpers/fetch-data.js
.
COIN_MARKET_CAP_API_KEY=your-api-key node fetch-data.js
The script will automatically:
- Download and save the logo to
public/img/crypto-index-fund/logos/
- Update the currencies file (
app/javascript/tools/crypto-index-fund/data/currencies.json
) with currency name and color (the dominant color of the logo)
Note: The data is fetched from CoinMarket API.
Equity prices
Include the symbol in the TwelveDataEquityImporter (app/services/twelve_data_equity_importer.rb
)
Market cap
Include the symbol in the CoinMarketCapImporter (app/services/coin_market_cap_importer.rb
)
The original marketing site had nearly a dozen contributors! Massive thanks to @pieterbeulque, @zachgoll, @TWilson023, @benface, @sauloantuness, @ffiller, @Tobolka, @jaobrown, @justinfar, @marcqualie and @narciero!
The Maybe marketing site is distributed under an AGPLv3 license. "Maybe" and the stacked "M" logo are trademarks of Maybe Finance, Inc.