Skip to content

TrueVote.App is the primary frontend for the TrueVote Voting Suite of Applications

License

Notifications You must be signed in to change notification settings

TrueVote/TrueVote.App

Repository files navigation

Logo

Twitter Keybase Chat

Azure Static Web Apps CI/CD CodeQL

TrueVote.App

🌈 Overview

TrueVote.App is the primary frontend for TrueVote.

The main technology stack platform is React and the visual element framework is Mantine.

🛠 Prerequisites

⌨️ Install, Build, and Serve the Site

Install all the front-end packages:

$ yarn install

Serve up the instance of the app locally, using Vite.

$ yarn dev

Vite expects the local TrueVote.Api to be listening on port 5273. See vite.config.mjs.

🎛️ Updating data models from the Api

TrueVote.App uses very strict static typing, and data models referenced are generated from the Api using the OpenApi standard. To update the data models from the latest Api, simply run the refresh-api command to the Production or Local instance of the Api. This will update the TrueVote.Api.ts file.

$ yarn refresh-api:prod
$ yarn refresh-api:local

🌐 Updating packages

TrueVote.App has external dependencies. Many of them are frequently updated for security and performance fixes and improvements. Sometimes there are regressions and our test suite is designed to catch them.

Run the updater:

$ yarn update-packages

$ yarn install

Test and ensure the app is working properly before committing and pushing.

🎁 Versioning

TrueVote.App uses sementic versioning, starting with 1.0.0.

The patch (last segment of the 3 segments) is auto-incremented via a GitHub action when a pull request is merged to master. The GitHub action is configured in .github/workflows/truevote-app-version.yml. To update the major or minor version, follow the instructions specified in the bumping section of the action - use #major or #minor in the commit message to auto-increment the version.

❤️ Contributing

We welcome useful contributions. Please read our contributing guidelines before submitting a pull request.

📜 License

TrueVote.App is licensed under the MIT license.

License

truevote.org