Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 3.1 KB

File metadata and controls

95 lines (65 loc) · 3.1 KB

HelpingHand

Online lending: mobile app (Android), admin dashboard (PC), and .NET API with PostgreSQL.

Repo structure

Path Stack Purpose
apps/admin-dashboard Next.js Admin dashboard (PC)
apps/mobile React Native Android app
apps/api .NET 9 REST API backend
apps/docs Next.js Docs (optional)
packages/ui React Shared UI (admin/docs)

Environment / config by app

1. .NET API (apps/api)

Uses appsettings by environment (like you’re used to):

  • appsettings.json – base
  • appsettings.Development.json – local dev + dev DB
  • appsettings.Staging.json – staging DB & CORS
  • appsettings.Production.json – production DB & CORS

Set the environment with ASPNETCORE_ENVIRONMENT (e.g. Development, Staging, Production). The matching appsettings file is loaded automatically.

2. Next.js Admin dashboard (apps/admin-dashboard)

Uses env files (similar idea to appsettings, but file per “environment”):

  • .env.development – loaded when NODE_ENV=development (default for npm run dev)
  • .env.staging – use for staging build/run (see below)
  • .env.production – used for next build / next start when NODE_ENV=production
  • .env.example – list of variables (no secrets)

Scripts:

  • npm run dev – dev, uses .env.development
  • npm run dev:staging – dev with staging API URL (loads .env.staging)
  • npm run build – production build (uses .env.production)
  • npm run build:staging – staging build (uses .env.staging)

Secrets: put them in .env.local (gitignored); they override the env files above.

3. React Native (apps/mobile)

Uses env files plus react-native-config (one file per “environment”):

  • .env.dev – local dev
  • .env.staging – staging
  • .env.prod – production

You choose the file at build/run time with ENVFILE:

  • Dev: ENVFILE=.env.dev npx react-native run-android
  • Staging: ENVFILE=.env.staging npx react-native run-android
  • Prod: ENVFILE=.env.prod npx react-native run-android

See apps/mobile/README.md for setup (react-native-config, Gradle, etc.).

Database (PostgreSQL)

No DB is created yet. With PostgreSQL installed and running:

psql -U postgres -c "CREATE DATABASE \"HelpingHand_Dev\";"

Then run the API from apps/api and, when you add entities, use EF Core migrations (see apps/api/README.md).

Quick start

  1. API (from repo root):

    cd apps/api
    dotnet run

    Uses Development and appsettings.Development.json by default.

  2. Admin dashboard:

    npm install
    npm run dev --workspace=admin-dashboard

    Uses .env.development (points to https://localhost:7001).

  3. Mobile:
    See apps/mobile/README.md to scaffold the React Native app and wire up the env files.

Useful links