To install npm packages run the following commands
- Run
npm install
to install the project dependencies. - Run
cp .env.dist .env
, and update the.env
file as necessary. - Download Firebase Admin SDK credentials from the Firebase console:
- Login to the Firebase console and navigate to the project settings.
- Select "Service accounts" and click on "Generate new private key" for "Node.js".
- Save it as
firebase-admin.json
in the root of the project.- Note: You might have to run
git rm --cached firebase-admin.json
to remove it from the git history.
- Note: You might have to run
- Run
npm run dev
ornuxt dev
to start the development server.
This project incorporates UI components from UI Think.
Components are directly imported into the components/Ui
directory, not installed as a package. Consequently, linting is disabled for this folder.
To add new UI components, simply run npm run ui
, select the desired components and follow the on-screen instructions.
npm run format-check
- checks for formatting errors.npm run format
- auto-formats all files.npm run lint
- checks for Typescript errors.npm run spell-check
- checks for spelling errors (EN or DE).npm run style-check
- checks for styling errors (.scss
).npm run style-fix
- tries to fix styling issues.npm run type-check
- checks for Typescript types.
CSpell is a library used for spell checking the code. It checks against English, German and some technical dictionaries (e.g. Typescript).
Custom words, that we consider correct, but are not part of any dictionary in use are added to a custom file - custom.dic
.
Please keep all words in the custom.dic
file sorted in alphabetical order, lower case. One word per line.
There is a "linter" check running before each commit. All the above standards must be respected, in order to commit.
Current GitHub repository has an integration with CodeRabbit.ai. This integration allows for the automatic deployment of the project to the CodeRabbit.ai platform.
The configuration is stored in the .coderabbit.yaml
file. While currently most of the presets are left to default, the configuration is set to ignore the components/Ui/**
folder as this is coming directly from UI-Thing library with little to no custom changes.
On rare occasions, you might encounter an error related to .nuxt
folder.
Such an example is missing a specific property in nuxt.config.ts
after installing a new nuxt module.
To fix this, manually run:
nuxt prepare
Although this should not be necessary because nuxt prepare
is run automatically after npm install
(see postinstall
script)
This project uses the auto-imports functionality provided by Nuxt3.
Update packages to the latest safe version as follows:
- Run
npm outdated
to check for outdated packages. - Run
npm update
to update all the outdated packages.- If you want to update only a specific package, run
npm update <package-name>
.
- If you want to update only a specific package, run
- Run
npm outdated
again to check if there are still outdated packages.
Major version updates should be done with caution, as they may introduce breaking changes.
You can do so by using the @latest
. e.g. npm install <packagename>@latest
As an alternative, you can also use npm-check-updates.