Skip to main content

Timeprox

Applications

Tools

  • tools/
    • nx-tools/
      • aws/
      • terraform/
      • generate-web-assets: Generate assets from source png/svg
      • lambda-execute: Locally execute Lambda functions
      • translate-next-intl
    • plugins/
      • docker (generator + executors)
      • terraform (executors)
    • scripts/
      • installs/
      • nvm-auto-update
    • secrets-manager: Manages secrets for AWS, GitHub and Vercel
    • utils/
      • testing/
      • tailwindcss.utils
      • webpack.utils

Deploying

  • For NextJS web applications, deployments are handled by Vercel (tied to GitHub).

  • All other application are deployed from GitHub Actions but can also be manually deployed using the following:

# Paste AWS credentials into terminal

# Deploy to `dev`
export APP_ENV=dev
nx deploy {forever-names-web/agent-lambdas/etc}

# Deploy to `prod`
export APP_ENV=prod
nx deploy {forever-names-web/agent-lambdas/etc} --production

Infrastructure

The AWS Terraform infrastructure is now managed within this repository, the main components/modules are located in _infra/ at the root of the repository. While any application specific infrastructure is located within the application's directory within a _infra/ directory.

The following are some commands available:

# linting
nx terraform:lint (infra|forever-names-web)
nx terraform:validate (infra|forever-names-web)
# applying (requires AWS credentials)
nx apply:(root|timeprox):account infra
nx apply:timeprox:platform:(common|dev|prod) infra
nx apply:(client|dev|prod) forever-names-web