Skip to main content

Prerequisites

Before you begin, ensure you have the following tools installed on your system:

Required Tools

Node.js

Version 18 or higher required

pnpm

Version 9.0.0 for package management

MongoDB

Local or Atlas cluster for database

Git

For version control

Verify Installation

Check that you have the correct versions installed:
node --version  # Should be v18 or higher
pnpm --version  # Should be 9.0.0 or compatible

Installation Steps

1

Clone the repository

Clone the Money monorepo to your local machine:
git clone <repository-url>
cd money
2

Install dependencies

Install all workspace dependencies using pnpm:
pnpm install
This project uses pnpm workspaces. While npm and yarn may work, pnpm is recommended for consistency with the packageManager field in package.json.
3

Set up environment variables

Create .env files for each application that requires configuration. Start by copying the example file:
# For CashGap app
cp apps/cashgap/.env.example apps/cashgap/.env

# For Secure app (if needed)
cp apps/cashgap/.env.example apps/secure/.env
Then edit the .env files with your actual values. See Environment Variables for details.
4

Set up MongoDB

You’ll need a MongoDB instance. Choose one of the following options:Option 1: MongoDB Atlas (Cloud)
  • Create a free cluster at MongoDB Atlas
  • Get your connection string and add it to your .env file
Option 2: Local MongoDB
# Using Docker
docker run -d -p 27017:27017 --name mongodb mongo:latest
Update your MONGODB_URI in .env:
MONGODB_URI=mongodb://localhost:27017/money-dev
See Database Setup for more details.
5

Verify setup

Run a build to ensure everything is configured correctly:
pnpm build
If the build completes successfully, your environment is ready!

IDE Setup

Install the following extensions for the best development experience:
  • ESLint - For code linting
  • Prettier - For code formatting
  • Tailwind CSS IntelliSense - For Tailwind class autocompletion
  • TypeScript and JavaScript - Built-in, ensure it’s enabled

TypeScript Configuration

The monorepo uses TypeScript 5.9.2 with shared configurations:
  • Root tsconfig.json for workspace-wide settings
  • App-specific tsconfig.json files extending the base config
  • Shared TypeScript configurations in packages/typescript-config

Troubleshooting

pnpm install fails

If you encounter issues during installation:
  1. Clear the pnpm cache:
    pnpm store prune
    
  2. Delete node_modules and lock files:
    rm -rf node_modules pnpm-lock.yaml
    pnpm install
    

Node version mismatch

If you see Node version errors, ensure you’re using Node 18 or higher:
node --version
Consider using nvm to manage Node versions:
nvm install 18
nvm use 18

Next Steps

Running Locally

Learn how to start the development servers

Building

Understand the build process

Testing

Run tests and ensure code quality

Environment Variables

Configure environment variables

Build docs developers (and LLMs) love