This is a guild management system for MMORPG MapleStory (TMS).
Game avatar and its union info integrate with LINE profile.
- Avatar and union level is crawled from official data.
- LINE profile is based on user registration on this system.
- Guild member customizes their moods by text.
Guild manager can manage party members for each BOSS teams.
- Easy drag and drop interation.
- Real-time update to member list and team list.
Guild member can submit their reason when they want to take a leave.
- Only show the reason to guild member
- Go to LINE developer https://developers.line.me/
- Add new provider or use exist provider
- Create new channel > LINE Login
- [tab] App settings > Enter your Callback URL
- [tab] Channel settings > Copy Channel ID and Channel secret
$ export LINE_CHANNEL_ID="your Callback URL"
$ export LINE_CHANNEL_SECRET="your Channel ID"
$ export LINE_CALLBACK_URL="your Channel secret"
Quick access (readonly) to Google spreadsheet without other auth by using API keys.
- Go to Google APIs https://console.developers.google.com/
- New Project (if you don't have anyone)
- Select your project > Credentials
- Create credentials > API key > Restrict key
- [tab] Application restrictions > None (dev) / HTTP referrers (prod)
- [tab] API restrictions > Google Sheets API > Save
- Copy API key
- Go to Google Drive https://www.google.com/drive/
- Create an spreadsheet, then copy ID and sheet
- Rename
./src/config-default.ts
to./src/config.ts
$ export GOOGLE_APIS_API_KEY="your API key"
$ export GOOGLE_APIS_SPREADSHEET_ID="your spreadsheet ID"
$ export GOOGLE_APIS_SHEET_NAME="your sheet name"
Offline access to your spreadsheet. Notice to protect your credentials
, it has complete permission for your Google Spreadsheet.
- Follow above, create another credential > OAuth client ID > Other
- Click icon Download JSON of this row
- Open this
./credentials.json
file
$ export GOOGLE_APIS_CREDENTIALS="Text in credentials.json" # Single line better
$ yarn run credentials
$ yarn
$ yarn start
# Visit http://localhost:3000
Visit http://localhost:3000/system/init to finish it.
You can try to use the same Google API token instead of re-generating new one everytimes.
After you visiting http://localhost:3000/system/init, copy your ./token.json
to environment variable. Like below:
$ export GOOGLE_APIS_TOKEN="Text in token.json" # Single line better
$ ts-node ./src/utils/generate-sprite.ts