TrueVote.App is the primary frontend for TrueVote.
The main technology stack platform is React and the visual element framework is Mantine.
- Setup and install the TrueVote.Api
- Install NodeJS and Yarn
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.
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
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.
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.
We welcome useful contributions. Please read our contributing guidelines before submitting a pull request.
TrueVote.App is licensed under the MIT license.