This is the backend repository for Testerloop. The frontend can be found here. The backend is built using Node.js, TypeScript, and Apollo Server. It utilizes AWS S3 for storage and requires an AWS account and configured S3 buckets.
This repo can be run locally for local development (instructions are included below), but it is not deployed as a standalone service. It is used as an NPM package by the Testerloop App, which is deployed as our staging site in an ECS cluster on AWS Fargate.
New versions of the backend package are published to NPM using GitHub Actions when new releases are created on GitHub.
Before getting started, make sure you have the following installed:
- Clone the repository:
git clone git@github.com:testerloop/testerloop-server.git
cd testerloop-server
- Copy the
.env.shadow
and.npmrc.shadow
files to.env
and.npmrc
:
cp .env.shadow .env
cp .npmrc.shadow .npmrc
- Update the .env file with your AWS credentials. If you don't have AWS credentials yet, you can obtain them by following this guide.
PORT=8080
AWS_BUCKET_REGION=YOUR_AWS_BUCKET_REGION
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY
AWS_BUCKET_NAME=YOUR_AWS_BUCKET_NAME
EXPIRES_IN=3600
-
Update the .npmrc file replacing
<GITHUB_TOKEN>
with the token provided by the Testerloop team. -
Install the dependencies:
npm install
To start the backend in development mode, run:
npm run dev
This will start the backend server, and it will automatically reload when you make changes to the code.
To build the backend for production, run:
npm run build