- π± What is Demyth?
- π¨ Installation
- βοΈ Stack
- π Build
- π³ Docker
- π― Tests
- πΏ Env variables
- βοΈ Code analysis and consistency
- π Releases & Changelog
- π GitHub Actions
- β¨ Misc commands
- Β©οΈ License
- β€οΈ Contributors
Demyth is a strategy-based web3 browser game, inspired by mythology, where players compete to ascend the rankings. In addition to the game, this project aims to integrate a variety of common full-stack tools, as we will discuss further.
- Frontend Demo: https://demyth-frontend.vercel.app/
- Backend API Demo: https://demyth-render-test.onrender.com
First you need to fork/download the monorepo. Secondly, you need these:
Soft | Note |
---|---|
It is better to have node >= 18.10; if no upgrade it - v18.17.1 | |
Better to install cli globaly: npm i -g @nestjs/cli |
Then, in the root of the monorepo project:
# Install all monorepo's dependencies
yarn install
What | Why |
---|---|
Component library | |
All web3modal suff: wagmi, wallet connecct, viem, siwe | |
Animation purpose | |
twMerge, clsx, cva | |
web2 & web3 login with jwt session |
In order to build the app for production, in the root, run the following command:
# Build the app
yarn build
# Run the app in production mode
yarn start:dev
This app will be Docker ready soon! The Dockerfile will be available at the root of the project.
# Run the frontend in development mode - in frontend folder:
yarn dev
# Run the backend in development mode - in backend folder:
yarn start:dev
# Run the frontend in development mode - in frontend folder:
yarn build
yarn start
# Run the backend in development mode - in backend folder:
yarn build
yarn start:prod
Before testing, you must follow the installation steps. Then, run one of the following commands:
#Soon
Environnement files are available in the env directory.
You can create a .env
file in this directory to override the default values when starting the project locally.
Environment variables are:
Name | Description | Required | Example value | Limitations |
---|---|---|---|---|
HOST |
Host on which the API will be available | β | http://localhost:3001 |
|
NEXT_PUBLIC_WALLETCONNECT_PROJECTID |
Wallet connect project ID | β | 25654aeff98f7aaac5b9fff6... |
|
NEXT_PUBLIC_SIGNIN_MESSAGE |
Message content to be sign when web3 login is used | β | β | |
NEXTAUTH_SECRET |
Secret for NextAuth | β | β | |
NEXTAUTH_URL |
Url for NextAuth | β | http://localhost:3000 |
|
MONGODB_URL |
Atlas Mongodb URL | β | ``mongodb+srv://....net/` | |
JSON_TOKEN_KEY |
Key for Jwt generation | β | β | |
JSON_TOKEN_EXPIRE |
Expire time for Jwt | β | 1d |
|
JSON_REFRESH_TOKEN_KEY | Key for Jwt generation | β | β | |
JSON_REFRESH_TOKEN_EXPIRE | Expire time for Jwt | β | 7d |
|
PORT | Port for backend | β | 3001 |
This project uses GitHub Actions to automate some boring tasks.
You can find all the workflows in the .github/workflows directory.
Workflows are onlky for frontend at the time.
Name | Description & Status | Triggered on |
---|---|---|
βοΈ Preview Workflow | Various checks for app health, code quality and tests coverage | push on develop and all pull requests to develop |
π Production Workflow | Various checks for app health, code quality and tests coverage | push on main and all pull requests to main |
This project is licensed under the MIT License.
There is no contributor yet. Want to be the first?