Skip to content

mateusoliveira43/mateusoliveira43.github.io

Repository files navigation

My personal website!

Continuos Integration Continuos Delivery

TypeScript React Bootstrap Jest ESLint

Docker NodeJS Alpine Linux

Questions and suggestions for improvement are welcome! Get in touch or open a Issue or a Pull Request reporting them!

Requirements

Development

To change Container/website configuration, change the variables in .env file. It is created automatically when a docker script is called.

To start the website (in development mode), run

./scripts/docky.py up

To stop it, run CTRL+C.

To connect to container's shell, run

./scripts/docky.py run sh

To exit the container's shell, run CTRL+D or exit.

To remove the project's containers, images, volumes and networks, run

./scripts/docky.py down

Run the commands presented in the following section in the container's shell.

Website

To install the website dependencies, run

npm ci

To run the website in development mode, run

npm start

To stop it, run CTRL+C.

To create the website production code, run

npm run build

To run the website in production mode, run

npm run prod

To stop it, run CTRL+C.

Quality

The quality metrics of the project are reproduced by the continuos integration (CI) pipeline of the project. CI configuration in .github/workflows/ci.yml file.

Tests

To run tests and coverage report, run

npm test

To see the html report, check coverage-results/lcov-report/index.html.

Tests and coverage configuration in jest.config.ts file.

Linter

To run JavaScript linter, run

npm run lint

JavaScript linter configuration in .eslintrc.js file.

Code formatter

To format JavaScript code, run

npm run lint -- --fix

JavaScript code formatter configuration in .prettierrc.js file.

Security vulnerability scanners

To check known security vulnerabilities in JavaScript dependencies, run

npm audit

To check for outdated JavaScript dependencies, run

npm outdated --long

License

This repository is licensed under the terms of MIT License.