Skip to content

Xapixowy/arkham-horror-backend

Repository files navigation

logo

Arkham Horror

Application to make Arkham Horror games easier.

This repository is closely linked to another one, which handles the frontend, while this one is the backend.

Table of contents

Description

The application was designed to simplify managing characters and game elements during Arkham Horror board game sessions. It provides real-time updates on the game phase and allows easy management of items, spells, companions, and other resources directly through the interface.

Tech Stack

logo

NestJS is a progressive, open-source Node.js framework for building efficient and scalable server-side applications using TypeScript. It leverages modern JavaScript features and is built with a modular architecture, making it ideal for building enterprise-level applications.

logo

PostgreSQL is an open-source, reliable, and scalable relational database system known for its support of advanced SQL features and ability to handle large volumes of data.

logo

Socket.IO client is a JavaScript library for real-time, bidirectional communication between web clients and servers, allowing the frontend to easily connect to a Socket.IO server for features like chat, live updates, and real-time notifications.

logo

Docker is an open-source platform that automates the deployment and management of applications using containers, allowing for consistent environments across different systems.

Installation

To simplify the installation process, the project uses a Docker.

Remember, this application is tightly linked to the frontend, and you should also set up that project to get the full functionality.

Prerequisites

Steps

1. Environment variables

Copy .env.example file to .env and edit the file. These are the variables you need to fill with descriptions:

  • POSTGRES_DB: Database name (ex. arkham_horror_db)
  • POSTGRES_PASSWORD: Database user password (ex. TheStrongestPassword123!@$)
  • JWT_SECRET: Private key to sign and verify JWT. Just go to JwtSecret.com, click generate and copy whole key there.
  • MAIL_HOST: The SMTP server address used for sending emails (in this case, Mailtrap).
  • MAIL_PORT: The port number for the SMTP server (in this case, 465).
  • MAIL_SECURE: A flag indicating if the connection should be encrypted (in this case, false).
  • MAIL_USER: The email address or username used for authentication with the SMTP server.
  • MAIL_SECURE: The password associated with the email account for authentication.
cp .env.example .env
nano .env

2. Build Docker container

Just run the command to build the container and wait.

docker-compose up -d

3. Enjoy :)

About

Arkham Horror Companion App: A Nest.js based backend for the board game

Topics

Resources

Stars

Watchers

Forks

Contributors