A termbase management application that follows the TermBase eXchange (TBX) v3 standard. The application makes use of the BaseTerm API for the underlying CRUD operations on TBX elements. Currently, the application supports the TBX-Basic dialect and Data Category as Attribute (DCA) style.
Before installing any instance of BaseTerm, please reach out to the BYU TRG at byutrg@gmail.com to establish a dialogue with the team. Please include any necessary contact info so that we can reach out to you for important version updates.
Please reference the BaseTerm API repository for setup instructions.
A PostgreSQL (postgres) instance will be needed for the BaseTerm application. A database will also need to be created in the postgres instance. Both BaseTerm and the BaseTerm API can use the same PostgreSQL instance and database since they utilize separate schemas.
Please reference the postgres downloads for installers for various platforms.
The postgres database will need to be setup with proper schemas using the node-pg-migrate postgres migration tool. The tool first needs to be installed using NPM. Once installed, the tool is run with a connection string for the postgres database.
npm ci
DATABASE_URL=<url for the BaseTerm database> npm explore @byu-trg/express-user-management -- npm run migrate up
Please reference the node-pg-migrate docs for further use of this migration tool.
Rollbar logging token (optional). Please contact the BYU TRG team to obtain this token. This is used to capture error logs.
BaseTerm requires a third party email provider. BaseTerm currently supports integration with either Zoho Mail or SendGrid.
Visit the Zoho Mail website for more information on setting up an email account.
If MFA is enabled, an app-specific password will need to be generated and used with BaseTerm instead of the account password.
Visit the SendGrid website for more information on setting up an email account.
An API key will need to be generated with full access to be used with BaseTerm.
APP_ENV=<dev | prod>
PORT=<port number>
BASETERM_API=<url for the associated BaseTerm API>
DATABASE_URL=<url for the BaseTerm database>
EMAIL_ADDRESS=<address from which emails will be sent>
EMAIL_PROVIDER=<Zoho | SendGrid>
EMAIL_PASSWORD=<password for hosted email account (used for Zoho only)>
EMAIL_PROVIDER_API_KEY=<API key generated by email provider (used for SendGrid only)>
AUTH_SECRET=<64-bit CSPRNG secret>
ROLLBAR_API_TOKEN=<Rollbar logging token>
npm ci
npm run build
npm run start