Give your agent a wallet you control.
에이전트가 일회용 카드나 기계 결제 프로토콜로 온라인 결제하고, 모든 요청을 직접 승인
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Personal finance app — Turborepo monorepo with a NestJS GraphQL API, Prisma/PostgreSQL and a React Native (Expo) mobile app.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A comprehensive financial management application built with modern web technologies. This monorepo contains a NestJS GraphQL API, React Native mobile app, and shared database package using Prisma ORM.
This project is built as a Turborepo monorepo with the following structure:
apps/api/) - NestJS GraphQL API with Prisma integrationapps/finnit-app/) - React Native with Expopackages/database/) - Prisma client and schema for PostgreSQLpackages/eslint-config/) - Shared linting rulespackages/typescript-config/) - Shared TS configurationsEnsure you have the following installed:
# Clone the repository
git clone <repository-url>
cd finnit-assistant
# Install all dependencies (uses Yarn workspaces)
yarn install
Start the PostgreSQL database using Docker:
# Start the database container in the background
docker-compose up -d postgres
# Verify the database is running
docker-compose ps
Set up environment variables:
# Copy the example environment file
cp apps/api/.env.example apps/api/.env
# The DATABASE_URL is already configured for the Docker database:
# DATABASE_URL="postgresql://finnit_user:finnit_password@localhost:5432/finnit_db"
Generate Prisma client and run migrations:
# Generate Prisma client
turbo run db:generate
# Run database migrations
turbo run db:migrate:dev
# Optional: Seed the database with sample data (genera cliente automáticamente)
turbo run db:seed
Optional: Use pgAdmin for database management:
# Start pgAdmin (web-based database administration)
docker-compose up -d pgadmin
# Access pgAdmin at http://localhost:8080
# Login: [email protected] / admin123
Choose one of the following options:
# Start API and mobile app simultaneously
yarn dev
API Server:
# Start API with database build
yarn api:dev
# Or just the API (if database is already built)
yarn start:api
# API will be available at http://localhost:3000
# GraphQL Playground at http://localhost:3000/graphql
Mobile App:
# Start Expo development server
turbo run start --filter=finnit-app
# Or with specific platform
turbo run android --filter=finnit-app # Android
turbo run ios --filter=finnit-app # iOS
turbo run web --filter=finnit-app # Web
Check API:
Check Mobile App:
Check Database:
# Open Prisma Studio to browse your data
turbo run studio --filter=@finnit/database
# Or use pgAdmin at http://localhost:8080 (if started)
yarn dev # Start all development servers
yarn build # Build all applications and packages
yarn lint # Run linting across all packages
yarn format # Format code using Prettier
yarn check-types # Run TypeScript type checking
# Start/stop database container
docker-compose up -d postgres # Start database
docker-compose stop postgres # Stop database
docker-compose down # Stop and remove containers
# Generate Prisma client
turbo run db:generate
# Run migrations in development
turbo run db:migrate:dev
# Push schema changes without migration
turbo run db:push
# Open Prisma Studio
turbo run studio
# Seed database
turbo run db:seed
# Seed database (limpiar primero)
turbo run db:seed:clean
# Reset completo de la base de datos
turbo run db:reset
# Reset completo y sembrar datos
turbo run db:reset:seed
# Database administration
docker-compose up -d pgadmin # Start pgAdmin (http://localhost:8080)
# Start API in development mode
turbo run start:dev --filter=@finnit/api
# Run API tests
turbo run test --filter=@finnit/api
# Run API E2E tests
turbo run test:e2e --filter=@finnit/api
# Check API types
turbo run check-types --filter=@finnit/api
# Start development server
turbo run start --filter=finnit-app
# Run on specific platforms
turbo run android --filter=finnit-app
turbo run ios --filter=finnit-app
turbo run web --filter=finnit-app
# Lint mobile app
turbo run lint --filter=finnit-app
Create apps/api/.env with the following variables:
# Database (Docker configuration)
DATABASE_URL="postgresql://finnit_user:finnit_password@localhost:5432/finnit_db"
# JWT Authentication
JWT_SECRET="your-super-secret-jwt-key"
JWT_REFRESH_SECRET="your-super-secret-refresh-key"
JWT_EXPIRATION="15m"
JWT_REFRESH_EXPIRATION="7d"
# Server
PORT=3000
NODE_ENV="development"
# Email (optional - for password reset)
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="[email protected]"
SMTP_PASS="your-app-password"
FROM_EMAIL="[email protected]"
See apps/api/.env.example for all available configuration options.
The application uses a comprehensive financial data model including:
# Run all tests
turbo run test
# API tests only
turbo run test --filter=@finnit/api
# API E2E tests
turbo run test:e2e --filter=@finnit/api
# Run tests in watch mode
turbo run test:watch --filter=@finnit/api
turbo run test:cov --filter=@finnit/api
npm install -g @expo/cliturbo run start --filter=finnit-app# iOS Simulator (requires Xcode)
turbo run ios --filter=finnit-app
# Android Emulator (requires Android Studio)
turbo run android --filter=finnit-app
# Web browser
turbo run web --filter=finnit-app
Database Connection Error:
docker --versiondocker-compose up -d postgresdocker-compose psPrisma Client Error:
turbo run db:generatenode_modules and reinstalling"@prisma/client did not initialize yet" Error:
turbo run db:generate firstturbo run db:seed which generates automaticallyMigration Error (constraint conflicts):
turbo run db:resetturbo run db:reset:seeddocker-compose down && docker-compose up -d postgres && turbo run db:migrate:devNew Schema Changes:
turbo run db:migrate:devturbo run db:generateturbo run db:seedMobile App Not Loading:
TypeScript Errors:
yarn check-types to see all type errorsyarn buildBefore Starting Work:
git pullyarn installdocker-compose up -d postgresturbo run db:migrate:devBefore Committing:
yarn lintyarn check-typesturbo run testyarn formatDatabase Changes:
packages/database/prisma/schema.prismaturbo run db:migrate:devturbo run db:generateFor more detailed development guidelines, see CLAUDE.md in the project root.