Also see ARCHITECTURE.md
- Register create and setup your Ngrok account. After getting your auth token, create a domain. Ngrok is used to expose your local server to the internet. It's necessary to make your app accessible to Telegram via real domain name with SSL enabled. For example, your
http://localhost:3000
will be available athttps://your-domain.ngrok.io
- Create and setup your Pinata account. Pinata is used to store your game assets, like achievement badges. You can select admin privileges for your API key. Save your
API key
andAPI secret
. You can not to revealAPI secret
again. - Run
./setup.sh
. If you use Windows you can run in fromGit Bash CLI
which comes withGit
or you can run the project using Windows Subsystem for Linux (WSL). Follow the instructions
Conceptually, the process can be separated in two parts: the general part and web 3 part.
General part will setup database settings, ngrok & pinata services, Telegram bot, etc.
Web 3 part will setup your wallet, top up the wallet with test coins and jetton and collections for the achievements.
Run npm start
.
Ensure you have Docker and Docker Compose installed. Run Docker.
Run docker-compose -f ./docker-compose.dev.yaml up
to start the app.
- Create a new migration after changing entities
npm run typeorm:generate-migration --name=[NAME]
- Create an empty migration (for seeding, etc.)
npm run typeorm:create-migration --name=[NAME]
- Run migrations
npm run typeorm:run-migrations