Skip to content

qnaplus/core

Repository files navigation

qnaplus

Quality of Life service for the VEX Robotics Q&A.

About

qnaplus is a project with the purpose of improving the quality of life for the VEX Robotics Q&A. The VEX Robotics Q&A system allows competitors to ask clarifying questions in regards to the current season's game and receive authoritative answers. Because these answers are extensions of the game manual, knowing when questions are answered is pivotal. There is no built-in system for receiving notifications from the Q&A, which is where qnaplus comes in.

Features

  • Discord Bot: qnaplus informs competitors of updates through a Discord bot, which is the primary means of communication for most competitors. The notifications come through on the VRC Nexus, a server hub for VEX-related news and information, and competitors can subscribe receive updates in their own servers.
  • Web Client: qnaplus comes with a web client that has improved rendering. The client is offline first and comes as a PWA (you can install it as an "app" on your phone), making it an ideal tool in competitions where internet connection is flaky.

Architecture

  • The core of qnaplus is the updater. The updater checks for new answers 3 times an hour and propagates any updates it detects to a database.
  • The bot subscribes to changes on the database, specifically listening for new answers.

Structure

This project uses PNPM Workspaces to manage structure and builds.

Path Description
packages/ Internal packages used by services
packages/dotenv Type-safe library for accessing environment variables
packages/store Supabase-related abstractions
packages/logger For creating service-unique loggers
packages/typescript-config Shared config for all packages/services
packages/utils Library for shared utility functions
services/ Applications that tie together the functionality in packages
services/updater Service for continuously watching for updates on the Q&A
services/bot Discord Bot for announcing new answers

Features and Bugs

Have a new idea for a feature or found a bug?

  1. Look through the list of open issues to see if it already exists.
  2. If nothing exists, create an issue here.

About

QoL tools and applications for the VEX Robotics Q&A system.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages