[TODO:PROJECT_DESCRIPTION]
- Setup
- Usage
- Testing
- Environments
- Environment variables [TODO: Remove non-applicable]
- Deployment
- Releases
- Translations
You will need to have NodeJS and pNPM installed to run this application. Use the Infinum handbooks to set up the package manager and NodeJS version.
- clone this repository:
git clone [TODO:GIT_LINK]
- install all the dependencies:
pnpm i
- set up the environment variables
To run the app, you can simply run [TODO:NPM_START_COMMAND]
. This starts the application in the environment dependent on your environment setup.
To build the app you can use some of the following commands:
npm run build
# TODO: development and production builds if applicable
# pnpm build:dev
# pnpm build:prod
To start the unit tests you can use one of the following commands:
pnpm test
pnpm test:watch
pnpm test:coverage
[TODO:DESCRIBE_E2E]
The following tools are used in the project to ensure code quality:
Prettier: for consistent code formatting. ESLint: for identifying and fixing code quality issues. Husky: Git hooks to automate code quality checks with ESLint and Prettier
Local code quality checks (Prettier, ESLint) are run before a user can commit their code through Husky's pre-commit hook, which ensures that the code pushed to Git is consistent and doesn't include any obvious issues that can be detected with static analysis.
There are currently two application environments:
- DEV - development instance, used for testing developed features
- API: [TODO:DEV_BACKEND_API_URL]
- Frontend: [TODO:DEV_APP_URL]
- PRODUCTION - production environment
- API: [TODO:PROD_BACKEND_API_URL]
- Frontend: [TODO:PROD_APP_URL]
You can specify your environment variables in the .env
file based on .env.example
.
You can specify environment variables as per the guide in the Nuts & Bolts.
Variable | Requirement | Description |
---|---|---|
API_HOST | required | API endpoint URL |
ENV | required | Available options: development, production |
The application deployment is managed with GitHub Actions.
More information on the deployment process can be found in Deployment process wiki page.
Releases are handled through GitHub Releases feature and documentation for it can be found on Release process wiki page.
The application uses Polyglot for handling translations. More information can be found on the Translations handling wiki page.