astrutz / every

Implementation of my portfolio website
https://alexstrutz.dev
Apache License 2.0
1 stars 0 forks source link

Deployment Status

Every

This repository containing various Angular webapps that power my portfolio website at https://alexstrutz.dev.

Requirements

node v18.14.2
npm v9.5.0

Installation

To get started with this repository, follow the steps below:

  1. Clone the repository to your local machine.
  2. Navigate to the project's root directory.
  3. Run the following command to install the necessary dependencies:
npm install
husky install

Development server

Run ng start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

This command will launch the local development server and make the apps accessible through the specified URLs.

Working with translations

As this page is available in German and English, i18n is used. Static strings need to have a localize keyword or an i18n directive attached. To generate the default localization file (English) run:

 ng extract-i18n --format=json --output-path src/locale

Copy/paste the new strings into the German locale and translate them.

Commit Conventions

In order to standardize commits (and pull request titles) and make the effects of code changes more visible, parts of the Conventional Commits combined with the Devmoji notation is used.

In general, a commit is structured as follows:

<type>[optional scope][optional!]: [optional πŸ’₯]<emoji> [optional issue number:] <description>

[optional] Additional information

[optional, if breaking change] BREAKING CHANGES: Reason why the change is declared as such

Type and emoji must be equivalent to each other, for example, ✨ can only be used with feat. Breaking changes are marked with a ! and should include the corresponding emoji πŸ’₯, for example: `bug!: πŸ’₯πŸ› ...

⚠ Thanks to a corresponding Git hook, the devmoji package takes care of 'emojifying' the commits. You do not need to manually insert emojis into your commit messages. See: Linting

πŸ’‘ Optionally, but recommended, you can run git config commit.template .\.gitmessage to use the project's commit template.

πŸ’‘ For compatibility, only Uniblock emojis from the

ranges U+2600 to U+26FF, U+2700 to U+27BF, U+1F300 to U+1F5FF, and U+1F680 to U+1F6FF may be used.

Example Commits

docs: πŸ“š Add codegen to readme
fix: πŸ› #34: Removed unsightly missing-image icon
add: βž• #45: Add pageFooter fragment
feat(eloglicko): ✨ #65: Additional markup and styling changes
test(eloglicko): πŸ”₯ #64: Remove an additional test
style: 🎨 #24: Reformatted footer component spacing
config(eloglicko)!: πŸ’₯βš™οΈ #53: Adjust publication URL for new API endpoint

Available Types and Emojis

Adopted from Devmoji:

Name Emoji Description
feat ✨ A new feature.
fix πŸ› A bug fix.
docs πŸ“š Documentation only changes.
style 🎨 Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc).
refactor ♻️ A code change that neither fixes a bug nor adds a feature.
perf ⚑ A code change that improves performance.
test 🚨 Adding missing or correcting existing tests.
chore πŸ”§ Changes to auxiliary tools and libraries such as documentation generation.
deps πŸ”— Add or delete dependencies.
build πŸ“¦ Changes related to build processes.
ci πŸ‘· Updates to the continuous integration system.
security πŸ”’ Fixing security issues.
breaking πŸ’₯ Introducing breaking changes.
config βš™οΈ Changing configuration files.

Custom Devmojis

Name Emoji Description
add βž• Changes with a focus on code addition
remove πŸ”₯ Changes with a focus on code removal

Available Scopes

The scopes are mostly based on the applications and libraries in the project.

Name Changes related to
eloglicko Eloglicko application

Linting

The commit-msg hook performs commit linting according to the rules mentioned above. If the linter runs successfully, the commit message is automatically annotated with the corresponding emojis using devmoji. For the linting itself, we use commitlint with a corresponding config (.commitlintrc.js). An example commit message is also provided in .gitmessage and can be adjusted as needed.

License

This repository is licensed under the MIT License.

Contact

If you have any questions or need further assistance, please reach out to us or open an issue in the GitHub repository.