npm package: @mbaluev/t1v3-shop-ssr-core
Description: \ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=alert_status&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
Latest version: 1.0.0

# T1-v2-shop-SSR
\
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=alert_status&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)

[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=reliability_rating&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=sqale_rating&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=security_rating&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)

[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=bugs&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=code_smells&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=vulnerabilities&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=coverage&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=duplicated_lines_density&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)

[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=ncloc&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=HR-OnT1_T1-v2-Shop-SSR&metric=sqale_index&token=20671ac3a1c59f6d6f110283cd31d9ea4cb120e2)](https://sonarcloud.io/summary/new_code?id=HR-OnT1_T1-v2-Shop-SSR)

## How to use

Install it and run:

```sh
npm ci
npm run dev
```

## The idea behind

The project uses :

1. [TypeScript](https://www.typescriptlang.org/)
2. [Next.js](https://github.com/vercel/next.js), which is a framework for server-rendered React apps
3. [MaterialUI](https://mui.com/) `@mui/material` and its peer dependencies, including `emotion`, the default style engine in MUI v5
4. [Docker](https://www.docker.com/)

## Using Docker

1. [Install Docker](https://docs.docker.com/get-docker/) on your machine
2. Build your container: `docker build -t t1-v2-shop-ssr .`
3. Run your container: `docker run -p 80:3000 t1-v2-shop-ssr`

You can view your images created with `docker images`

### In existing projects

To add support for Docker to an existing project, just copy the `Dockerfile` into the root of the project and add the following to the `next.config.js` file:

```js
// next.config.js
module.exports = {
  // ... rest of the configuration.
  experimental: {
    outputStandalone: true,
  },
}
```