Web-based tool for managing JumpChain adventures. Built with Remix, Node.js, and MongoDB.
- Clone this repository
- Install dependencies:
npm install - Create
.envfile (see.env.examplefor template) - Build the application:
npm run build - Start the server:
npm start - Visit http://localhost:3000
For detailed deployment instructions with credentials, see docs/DEPLOYMENT.md (private, not in repository).
The docs/ folder contains private documentation with sensitive information like:
- VPS deployment procedures
- Database credentials
- Server configurations
- Security setup guides
This folder is gitignored and not tracked in the repository.
Instructions for deployment:
-
Clone this repository.
-
Install Node.js on your local machine. Navigate to the repository directory, and run
npm installfrom a command line to download the packages needed to run the server. -
Deploy a MongoDB server, either locally or using a managed service (such as Atlas). Create a database with a collection called "chains".
-
In the root of the ChainMaker repository, copy
.env.exampleto.envand configure:MONGO_URI- Connection string for your MongoDB databasePORT- Server port (default: 3000)IMAGE_LIMIT_BYTES- Max image size per chainLEGACY_MYSQL_*- Credentials for legacy MySQL sync (if needed)- For HTTPS with custom certificates, set
USE_HTTPS=trueand configureCERT_PATH
-
Navigate to the repository folder in a command line and run
npm run build, which builds the javascript files served by the app. You will likely have to repeat this step every time you modify the contents of theappfolder, where most of the content and logic of the app lives. -
Finally, to run the server, use the
npm startcommand. It is recommended that you create a service on your machine that does this for you, if you want to serve the app persistently.
See .env.example for a complete list of configuration options.
Key variables:
MONGO_URI- MongoDB connection stringPORT- Server portIMAGE_LIMIT_BYTES- Maximum image sizeLEGACY_MYSQL_HOST,LEGACY_MYSQL_USER,LEGACY_MYSQL_PASSWORD,LEGACY_MYSQL_DATABASE- Legacy sync credentials