Skip to content

CatalystSoftworks/Unreal-Community-Wiki

Repository files navigation

This application is written in Typescript and uses the following, core technologies:

Development

Copy the .env.example file to .env and fill in the necessary values. You'll need the minimum of NodeJS and MongoDB installed on your machine. You can then run npm install to install the necessary dependencies and npm run dev to start the development server.

It is recommended that you also install MailHog for testing emails locally. Especially if you wish to test any features related to an authenticated user, as the application sends one-time passwords via email.

If you wish to test file uploads, you can use Minio to run a local S3 server.

Environment Variables

The following environment variables should be set in either your .env file (when developing locally) or on your host machine. Because credentials used by the application are provided via environment variables, it is important that you do NOT commit this .env files (or similar) to Git!

Variable Description
PORT The port that the application should listen on.
ORIGIN The URL that the application is hosted on. This is used for CORS and CSRF protection.
SMTP_HOST The SMTP host to use for sending emails.
SMTP_PORT The SMTP port to use for sending emails.
SMTP_USER The SMTP username to use for sending emails.
SMTP_PASS The SMTP password to use for sending emails.
DATABASE_URL Connection string that points to the MongoDB host with credentials and database URI path.
TOKEN_SECRET A string value with at least 32 characters, used for encrypting session cookies.
DISCORD_MOD_WEBHOOK_URL The webhook URL for posting messages to a Discord channel that only contains moderators. When not provided, messages will not be sent and instead will be logged to the console.
BLUEPRINT_UE_API_KEY The API key used for uploading embedded Blueprints via BlueprintUE.
SENTRY_AUTH_TOKEN Auth token used for uploading source maps to Sentry.
PUBLIC_SENTRY_DSN The API key used for reporting errors to Sentry for error and performance monitoring. This key will be public to end users!
PUBLIC_SENTRY_TRACE_SAMPLE_RATE Sample rate for tracing requests. This key will be public to end users!
PUBLIC_SENTRY_REPLAYS_SAMPLE_RATE Sample rate for tracing replays. This key will be public to end users!
PUBLIC_SENTRY_ERROR_SAMPLE_RATE Sample rate for tracing errors. This key will be public to end users!
PUBLIC_GA_TRACKING_ID The API key used for reporting usage metrics to Google Analytics. This key will be public to end users!
S3_ACCESS_KEY_ID The API key used for accessing AWS. Necessary for image uploading via S3.
S3_SECRET_ACCESS_KEY The API secret used for accessing AWS. Necessary for image uploading via S3.
S3_BUCKET The S3 bucket that images should be uploaded to. Necessary for image uploading via S3.
S3_DEFAULT_REGION The default region to use when accessing AWS and its resources. Necessary for image uploading via S3.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for more information.