Skip to content

Quest is a lightweight frontend application designed to display tasks from a Google Sheet.

Notifications You must be signed in to change notification settings

Dimitry-bit/quest

Repository files navigation

Quest logo

Quest

Quest is a lightweight frontend application designed to display tasks from a Google Sheet.
Quest showcase 1 Quest showcase 2

Build

Setting Environment Variables

Quest requires certain environment variables to function correctly. You can set these using a .env file or system environment variables:

.env file

GSHEET_CREDENTIALS=YOUR_GHEET_CREDENTIALS
GSHEET_SPREADSHEET_ID=YOUR_GHEET_SPREADSHEET_ID

System Environment Variables

export GSHEET_CREDENTIALS=YOUR_GHEET_CREDENTIALS
export GSHEET_SPREADSHEET_ID=YOUR_GHEET_SPREADSHEET_ID

After setting up the environment variables, run the generator:

dart run build_runner build

Important

Add both .env and env.g.dart files to your .gitignore file, otherwise, you might expose your environment variables.

Web

flutter build web --release --no-tree-shake-icons --base-href /example-href/

Google Sheets Setup

Quest requires the following worksheets to function properly.

Quest Settings

The Quest Settings worksheet is used to customize the application’s behavior.

Important

Verify that the Google spreadsheet used with Quest includes a worksheet named Quest Settings.

Variable Description Required
tasks_sheet_title Title of tasks worksheet. ✔️
student_tasks_sheet_title Title of student tasks worksheet. ✔️
search_columns_names Columns to search for student tasks. ✔️
task_columns_names Display names for task columns in the Quest interface, starting with columns from the Tasks worksheet, followed by columns from the Student Tasks worksheet. ✔️
status_sheet_title Title of the status worksheet.

Important

The Quest Settings worksheet must include Variable and Value columns.

Quest Settings Worksheet

Tasks Worksheet

The Tasks worksheet serves two primary functions:

  1. Identify tasks in Student Tasks worksheet.
  2. Contains global task information such as deadlines.

Important

The Tasks worksheet must have a unique Title column.

Tip

Deadline column is unique in that it automatically changes to a red color when a deadline has passed. Deadline column uses (d/m/yyyy) date format.

Tasks Worksheet

StudentTasks Worksheet

The Student Tasks worksheet tracks student task status, notes and any other specific information.

Caution

Avoid including sensitive information in the Student Tasks worksheet (e.g., phone numbers, social security numbers), as student filtration is done client-side.

Column Description Required
Task ID The task's key, which must also exist in the Tasks worksheet. ✔️

Tip

Any task specific column, except for the Task ID, will be displayed as a card on the Task Details page. For example, the Notes column. Supports Markdown

Student Tasks Worksheet

Configuration

Status names, Color and Icons

Customize task status colors and icons by providing a status worksheet in the specified format.

Important

Ensure that status_sheet_title variable is defined in Quest Settings.

Status Hex Color Icon Code Point
Accepted #ff33ff5d e156
Late #ffcaff58 e156
Incomplete #ffff0000 e16a
Not Submitted #ffff0001 e16a
Rejected #ffff0002 e16a

Note

Status names are customizable and not fixed to the provided example.

Statuses Worksheet

Find icon code points in the Flutter Icons documentation.

About

Quest is a lightweight frontend application designed to display tasks from a Google Sheet.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published