Inspired by its predecessor https://github.com/XRPLBounties/Proof-of-Attendance-API.
Origin/Redirect URIs
field to specify the location where the frontend app is hosted. This URL must be whitelisted to enable the initiation of the frontend Xumm SDK. Explained in detail here.http://localhost:3000
http://192.168.1.5:3000
(reachable with mobile devices from a local WLan)https://www.poap.io
XUMM_API_KEY
and XUMM_API_SECRET
)Rename .env.example
to .env
, update the values:
MAINNET_URL
TESTNET_URL
DEVNET_URL
AMM_DEVNET_URL
XUMM_API_KEY
and XUMM_API_SECRET
(create account here)JWT_SECRET
(use something like node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
)HASHID_SALT
(use something like node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
)MAX_TICKETS
(between 2 and 250, see here)MAX_EVENT_SLOTS
(maximum number of allowed participants per event)Important: You can verify the correctness of your
.env
variables configuration withyarn run check
.
A platform (vault wallet) account needs a minimum balance of 62 XRP to function correctly:
2 * MAX_TICKETS
)yarn install
yarn run start
yarn run start:daemon
in a separate terminalUsers with admin permissions have the capability to monitor and manage the platform through the frontend:
Note: It is advisable to configure at least one admin account.
Any platform user can be given admin privileges.
Use the yarn run console admin
script to add or remove the admin account flag in the database.
Examples:
yarn run console admin --help
yarn run console admin add r3drY2fHEEzFiU1EHpw2Qjpa2EHGs8cMHo
yarn run console admin add r3drY2fHEEzFiU1EHpw2Qjpa2EHGs8cMHo true
yarn run console admin remove r3drY2fHEEzFiU1EHpw2Qjpa2EHGs8cMHo
User
Event
Accounting
NFT
Claim
/event/minter
- fetch authorized minter info/event/create
- create a new event/event/cancel
- cancel an event/event/join
- join an existing event/event/claim
- claim NFT for an event/event/invite
- add new participants to an event/event/info/:id
- fetch details about one event/event/link/:id
- fetch a masked invitation link for an event/events/all
- fetch a list of all events/events/owned
- fetch a list of user owned events/ownership/verify/
- verify NFT ownership for an event/offers
- fetch a list of NFT offers/user/info
- fetch details about a user/user/update
- update user profile/users/lookup
- fetch a list of all user wallet addresses on the platform/users/organizers
- fetch a list of all organizers on the platform/auth/heartbeat
- check if backend service is available/auth/nonce
- request a login nonce/auth/login
- login, request jwt/auth/refresh
- refresh jwt/payment/check
- verify an event deposit transaction/admin/stats
- fetch platform usage statisticsFull API reference and module documentation is available here.
Generated using TypeDoc