1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-09 07:25:19 +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
Josh Pigford 9e8ad317ba
Update README.md
Signed-off-by: Josh Pigford <josh@joshpigford.com>
2024-01-10 10:59:40 -06:00
.github/workflows Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.husky Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.storybook Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.vscode Initial commit of old codebase 2024-01-10 09:41:07 -06:00
apps Initial commit of old codebase 2024-01-10 09:41:07 -06:00
auth0 Initial commit of old codebase 2024-01-10 09:41:07 -06:00
aws/maybe-app Initial commit of old codebase 2024-01-10 09:41:07 -06:00
libs Initial commit of old codebase 2024-01-10 09:41:07 -06:00
prisma Initial commit of old codebase 2024-01-10 09:41:07 -06:00
tools Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.dockerignore Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.editorconfig Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.env.example Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.eslintrc.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.gitignore Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.prettierignore Initial commit of old codebase 2024-01-10 09:41:07 -06:00
.prettierrc Initial commit of old codebase 2024-01-10 09:41:07 -06:00
babel.config.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
custom-express.d.ts Initial commit of old codebase 2024-01-10 09:41:07 -06:00
docker-compose.yml Initial commit of old codebase 2024-01-10 09:41:07 -06:00
jest.config.ts Initial commit of old codebase 2024-01-10 09:41:07 -06:00
jest.preset.js Initial commit of old codebase 2024-01-10 09:41:07 -06:00
LICENSE Create LICENSE 2024-01-10 10:20:03 -06:00
nx.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
package.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
README.md Update README.md 2024-01-10 10:59:40 -06:00
redis.conf Initial commit of old codebase 2024-01-10 09:41:07 -06:00
redis.Dockerfile Initial commit of old codebase 2024-01-10 09:41:07 -06:00
render.yaml Initial commit of old codebase 2024-01-10 09:41:07 -06:00
tsconfig.base.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
vercel.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
workspace.json Initial commit of old codebase 2024-01-10 09:41:07 -06:00
yarn.lock Initial commit of old codebase 2024-01-10 09:41:07 -06:00

Maybe: Open-source personal finance app

Get involved: DiscordWebsiteIssues

🚨 NOTE: This is the original React/Next.js app of the now-defunct personal finance app, Maybe. This original version used many external services (Plaid, Finicity, Auth0, etc) and getting it to fully function will be a decent amount of work.

The README below was what we used internally, so many of the links won't work and the instructions won't necessarily be applicable.

There's a LOT of work to do to get this functioning, but it should be feasible.

Monorepo File Structure Overview

This repository uses the monorepo management tools from NRWL called nx. The NX dev tools come with pre-configured TS, ESLint, Prettier, Jest, Cypress and more, and provide an extensive suite of commands to lint, test, serve, and build applications. Here's a great 10 minute video that walks through what nx can do.

Structure

Notes

Through ESLint, the following rules apply:

  • libs/shared can be imported to any app OR lib
  • libs/server can be imported to server and workers apps
  • libs/client can be imported to client app
  • libs/client/shared can be imported to any libs/client/features
  • libs/server/shared can be imported to any libs/server/features
apps/
  client/
  server/
  workers/
libs/
  design-system/
  client/
    src/
      features/
        {feature1-name}/
        {feature2-name}/
      shared/
  server/
    src/
      features/
        {feature1-name}/
        {feature2-name}/
      shared/
  shared/
    src/
      features/
        {feature1-name}/
        {feature2-name}/
      utils/
      types/

Decision Tree

folder-structure-diagram


⚠️ Everything below is archived from the original repo and we're slowly working to replace/update it.

Quick Start

For an overview of this repository, please see the wiki

System Prerequisites

  • Docker (if not using Docker, you will need Node LTS 14.7.x and Postgres 13.x)
  • (Optional, highly recommended) - Install the NX Console for using the nx client

Run the app locally

Setup ENV

cp .env.example .env

A working local development .env file can be found in 1Password under the "Engineering" folder.

With Docker (preferred)

Start server and client apps

yarn install
yarn dev

Migrate DB

In a separate terminal, run the following command. This will connect to the Postgres DB running inside Docker and run all the migrations in /prisma/migrations.

yarn prisma:migrate

You will also want to seed the database (includes account types and subtypes for categorization).

yarn prisma:seed

Manually

NOTE: Make sure Postgres 13.x is running on your machine

yarn install
nx serve client # Terminal 1
nx serve server # Terminal 2
yarn prisma:migrate && yarn prisma:seed # Terminal 3 - after apps are running

Reference

Authentication

See this wiki page for an explanation of how authentication/authorization works in this codebase.