/rp-api-2023

Core Backend API Layer for Reflections | Projections 2023, powered by Nest.js

Primary LanguageTypeScriptMIT LicenseMIT

RP Logo

R|P Core

Core backend infrastructure for Reflections | Projections, powered by Nest.js

About

RP Core serves key endpoints used by Reflections Projections to manage events, provide attendee insights and incentives, produce metrics on the conference and automate logistics for the conference. It is integrated with the R|P website (rp2023) and QR|P.

Installation

  • Clone this repository

  • Create .env in project root with the following values:

DATABASE_URL=<mongodb_uri_here>
SENDGRID_API_KEY=<sendgrid_api_key>
ENV=<dev | test | prod ...>
JWT_SECRET=<randomly_generated_secret>
CARP_SECRET=<randomly_generated_secret>
GOOGLE_ISSUER_ID="<google_wallet_api_issuer_id>"
GOOGLE_PRIV_KEY_ID="<google_service_acct_private_key_id>"
GOOGLE_PRIV_KEY="<google_service_acct_private_key>"
GOOGLE_CLIENT_EMAIL="<google_service_acct_client_email>"
GOOGLE_CLIENT_ID="<google_service_acct_client_id>"
GOOGLE_CLIENT_509_CERT_URL="<google_service_client_509_url>"

Note: Make sure all the Google Wallet values are in double-quotes!

  • Install dependencies
$ yarn

Running the app

# development
$ yarn run start

# watch mode
$ yarn run start:dev
# OR
$ yarn dev

# production mode
$ yarn run start:prod

Test

# unit tests
$ yarn run test

# e2e tests
$ yarn run test:e2e

# test coverage
$ yarn run test:cov

Support

Create a GitHub issue to for any bug reports or other requests

License

rp-core is open-source software under the MIT License.

Copyright 2023 Reflections | Projections