A competition control system designed for managing the UNB Harvest Competition. It provides real-time monitoring, scoring, and tournament management through a cross-platform desktop application.
The latest version of Harvest CCS is available for Windows, macOS, and Linux on the releases page.
Note: On macOS, you may get "Application Is Damaged and Can’t Be Opened. You Should Move It To The Trash". This is just because I don't want to pay $100 to Apple to have this application notarized. A work-around is to simply run
xattr -c '/Applications/Harvest Competition Control System.app'For more information, see this thread.
- Node.js (LTS version)
- Python 3.12
- AWS SSO profile (Talk to me)
Clone the repository and navigate into it:
git clone https://github.com/matthew-collett/harvest-ccs.git
cd harvest-ccsCreate a .env file in the /app directory with the following variables:
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
VITE_API_URL=Reach out to me for these values
Create a .env file in the /hapi directory with the following variables:
S3_BUCKET=Reach out to me for this value
Place your firebase-sevice-account.json key in the hapi/app directory. Reach out to me for this file.
Start in the project directory (harvest-ccs)
make app-setup app-startcd app
yarn install
yarn run devStart in the project directory (harvest-ccs)
make hapi-setup hapi-startcd hapi
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python run.pycd app
# Build for specific platforms
yarn build:win # Windows
yarn build:mac # macOS
yarn build:linux # LinuxAll documentation for this project is stored in docs/. The structure is outlined below:
- For information about the architecture, see
docs/architecture.md. - For information about the serial communication protocol used, see
docs/serial-protocol.md. - For an outline of the user guide, see
docs/user-guide.md.
For guidlines and instructions on contributing, please refer to CONTRIBUTING.md
This project is licensed under the ISC License - see the LICENSE file for details.