bourgeoisor / xivtodo

Dashboards, tailored checklists and tools for Final Fantasy XIV.
https://xivtodo.com
GNU General Public License v3.0
127 stars 17 forks source link
checklists dashboards ffxiv final-fantasy final-fantasy-xiv todolist todos tools vuejs xiv-resources

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

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.