Skip to content

bourgeoisor/xivtodo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

XIV ToDo

Website Discord ko-fi fr translation de translation ja translation

XIV ToDo provides useful dashboards, tailored checklists and tools for Final Fantasy XIV. Whether you are a new player to the game or more experienced, you will find it useful! In its current form, XIV ToDo offers customizable daily and weekly checklists as well as automated completion trackers of emcounters and questlines, with much more to come!

Features

  • Support for adding multiple characters.
  • Profile containing publicly accessible Lodestone information.
  • List of all encounters up-to-date with automatic character completion status.
  • List of all important questlines with automatic character completion status.
  • Comprehensive list of dailies and weeklies with per-character completion and customization.

Screenshots

Development

Frontend

  1. Make sure you have the following requirements:

    • Node.js 20 installed locally
    • npm installed locally
    • Vue's CLI installed locally (npm install -g @vue/cli)
  2. Clone the repository:

    git clone https://github.com/bourgeoisor/xivtodo
    cd xivtodo/frontend/
  3. Fetch dependencies:

    npm install
  4. Run one of the following commands:

    npm run serve # serve the frontend locally
    npm run build # build the dist directory
    npm run lint # lint the frontend
    vue ui # open vue's interactive ui

By default, the frontend will attempt to use a local backend (localhost:8181). To develop against the production backend, modify the following environment variable in the .env file before serving:

VUE_APP_BACKEND_API_URI=https://api.xivtodo.com

Note: With that setup, you will not be able to sign in with Discord due to security policies. It is recommended to run both the frontend and backend locally.

Backend

  1. Make sure you have the following requirements:

    • Google Cloud project with the Firestore API enabled
    • Service Account with RW permissions to Firestore
    • Discord application with an OAuth2 redirect to http://localhost:8080/auth
    • Go 1.22 installed locally
  2. Clone the repository:

    git clone https://github.com/bourgeoisor/xivtodo
    cd xivtodo/backend/
  3. Fetch dependencies:

    go mod
  4. Set the following environment variables:

    GOOGLE_APPLICATION_CREDENTIALS=backend-sa.json # Google Cloud service account key
    DISCORD_CLIENT_ID=<discord_client_id>
    DISCORD_CLIENT_SECRET=<discord_client_secret>
    DISCORD_REDIRECT_URI=http://localhost:8080/auth
    
  5. Run the backend server:

    go run main

Contributing

Contributions are welcome and appreciated. Simply open up a new issue, or fork the repository to open up a new pull request against the upstream main branch.