Code Monkey home page Code Monkey logo

anticorruption-layer's Introduction

Anticorruption Layer

gRPC service for topcoder anti-corruption layer. This service writes changes that happen in v5 to the legacy database to keep the legacy system happy and available for all legacy systems (OR, loaders) that interact with it.

See domain-challenge for more information.

Local Setup

Dependencies

  1. NodeJS 18+
  2. Yarn 1.22+
  3. Typescript 5+
  4. dynamo-access-layer
  5. anticorruption-layer

Required Environment Variables

The following environment variables are required. Placing a .env file in the root of the project will automatically load these variables.

GRPC_SERVER_HOST=localhost
GRPC_SERVER_PORT=40020

GRPC_RDB_SERVER_HOST=localhost
GRPC_RDB_SERVER_PORT=9090

GRPC_NOSQL_SERVER_HOST=localhost
GRPC_NOSQL_SERVER_PORT=50051

GRPC_CHALLENGE_DOMAIN_SERVER_HOST=localhost
GRPC_CHALLENGE_DOMAIN_SERVER_PORT=8888

ENV=local

Local Development

  1. Install dependencies. anticorruption-layer uses topcoder-framework which is published in AWS CodeArtifact. To ensure all dependencies are correctly downloaded log into aws codeartifact first
aws codeartifact login --tool npm --repository topcoder-framework --domain topcoder --domain-owner 409275337247 --region us-east-1 --namespace @topcoder-framework
yarn i

Note: A valid AWS session is required for the above command to work. Ensure that you have the correct aws environment variables set

  1. Start the gRPC server
yarn start

Deployment instructions

The primary branch of this repo is the main branch. Opening a pull request to the main branch will kick off building a docker image. Check CircleCI, specifically the Publish docker iamge to get the image tag. Use the tag for deploying to dev environment - see the branch deploy/dev of domain-challenge, buildimage.sh.

After the PR is merged, follow the same steps. For production deploys use deploy/prod branch

anticorruption-layer's People

Contributors

bountyc0d3r avatar eisbilir avatar liuliquan avatar rakibansary avatar testflyjets avatar thomaskranitsas avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.