ModClub is a moderation platform for online apps deployed on the IC. Moderation as a service (MaaS) is the concept of outsourcing controversial decisions or risky content in order to protect users and maintain trust within communities.
- Dfx 0.20.1
- Node.js >=20.0.0
Follow the steps to start qa env on locally:
-
Start dfx server:
dfx start --clean -
Delopy canisters locally:
scripts/infra/up_infra.sh -
Start UI from modclub_assets:
yarn start
Go to http://localhost:9000/ and will see the Modclub pages.
The Modclub asset canister delivers assets for Modclub, crafted using the React framework.
This is top-level provider for authentication. We've chosen Connect2IC as our authentication library and have tailored wallets specifically for Modclub support.
The useConnect() hook offers insights such as connection status, principal. More details can be found here.
The ProfileProvider supplies fundamental user details, including email, ID, is_admin, and so on.
Use the useProfile() hook to access the ProfileContext.
You can leverage all hooks offered by Connect2IC, such as:
- useWallet() for accessing wallet information and addresses.
- useBalance() to retrieve a user's assets when their wallet is linked.
We've also developed proprietary hooks like:
- useActors() to fetch APIs from canisters.
utils/apis are also provided:
- api.ts houses the majority of canister-related APIs.
- jwt.ts includes APIs associated with JWT.
- util.tx provides offers standalone utility functions.
Customized logger is provided to have controlled logging levels and environment-based filtering.
The declarations_by_env.ts file is automatically generated to offer declarations specific to the current environment(prod/qa/dev).
- Ensure you have docker running
- Run
make run