Skip to content

Commit

Permalink
🐣
Browse files Browse the repository at this point in the history
  • Loading branch information
Keks committed May 5, 2024
0 parents commit a8eaa84
Show file tree
Hide file tree
Showing 71 changed files with 8,119 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Файл с настройками для редактора.
#
# Если вы разрабатываете в редакторе WebStorm, BBEdit, Coda или SourceLair
# этот файл уже поддерживается и не нужно производить никаких дополнительных
# действий.
#
# Если вы ведёте разработку в другом редакторе, зайдите
# на https://editorconfig.org и в разделе «Download a Plugin»
# скачайте дополнение для вашего редактора.

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.tsv]
indent_style = tab
indent_size = 2
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dist/
13 changes: 13 additions & 0 deletions .eslintrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root: true
env:
es2021: true
node: true
parser: "@typescript-eslint/parser"
parserOptions:
ecmaVersion: 2021
sourceType: module
plugins:
- "@typescript-eslint"
extends:
- "plugin:@typescript-eslint/recommended"
- "htmlacademy/node"
29 changes: 29 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
on:
push:
branches:
- master
pull_request:
branches:
- '*'

name: Project check
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: '16'

- uses: actions/checkout@master
name: Checkout

- name: Install dependencies
run: |
if [ -f 'package.json' ]; then npm install; else echo 'Skip. The file package.json does not exist'; fi
- name: Run checks
run: |
if [ -f 'package.json' ]; then npm run lint; else echo 'Skip. The file package.json does not exist'; fi
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.vscode/
/node_modules/
/build/
/lib/
/dist/
/docs/
.idea/*

.DS_Store
coverage
*.log
42 changes: 42 additions & 0 deletions Contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Руководство по внесению изменений

Поддерживайте ваш репозиторий обновлённым. Когда наставник принимает ваш пулреквест, он попадает в репозиторий Академии, но не в ваш форк.

#### 1. Не коммитьте ничего самостоятельно в `master` вашего репозитория

Это помешает вам аккуратно обновлять ваш репозиторий, могут возникнуть конфликты.

#### 2. Прежде чем приступать к новому заданию, обновите `master`

Обновить свой репозиторий из репозитория Академии можно так:

```
# В вашей локальной копии переключитесь в ветку master
git checkout master
# Заберите изменения из репозитория Академии¹
git pull academy master
# Отправьте изменения в ваш форк на Гитхабе
git push
```

¹ В `academy` должна быть ссылка на репозиторий Академии. Если его там нет, добавьте:

```
git remote add academy [email protected]:htmlacademy-nodejs-api/774781-six-cities-7.git
```

Когда вы обновили `master`, создайте ветку для нового задания:

```
git checkout -b module2-task1
```

`module2-task1` — это название ветки. Под описанием каждого задания в интерфейсе интенсива для вас будет указано правильное название ветки.

--

#### Есть вопрос?

Посмотрите [коллекцию часто задаваемых вопросов по Git](http://firstaidgit.ru).
49 changes: 49 additions & 0 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Личный проект «Шесть городов»

* Студент: [Евгений Горчаков](https://up.htmlacademy.ru/nodejs-api/7/user/774781).
* Наставник: `Неизвестно`.

---

_Не удаляйте и не изменяйте папки и файлы:_
_`.editorconfig`, `.gitattributes`, `.gitignore`._

---

## Памятка

### 1. Зарегистрируйтесь на Гитхабе

Если у вас ещё нет аккаунта на [github.com](https://github.com/join), скорее зарегистрируйтесь.

### 2. Создайте форк

Откройте репозиторий и нажмите кнопку «Fork» в правом верхнем углу. Репозиторий из Академии будет скопирован в ваш аккаунт.

<img width="769" alt="Press 'Fork'" src="https://cloud.githubusercontent.com/assets/259739/20264045/a1ddbf40-aa7a-11e6-9a1a-724a1c0123c8.png">

Получится вот так:

<img width="769" alt="Forked" src="https://cloud.githubusercontent.com/assets/259739/20264122/f63219a6-aa7a-11e6-945a-89818fc7c014.png">

### 3. Клонируйте репозиторий на свой компьютер

Будьте внимательны: нужно клонировать свой репозиторий (форк), а не репозиторий Академии. Также обратите внимание, что клонировать репозиторий нужно через SSH, а не через HTTPS. Нажмите зелёную кнопку в правой части экрана, чтобы скопировать SSH-адрес вашего репозитория:

<img width="769" alt="SSH" src="https://cloud.githubusercontent.com/assets/259739/20264180/42704126-aa7b-11e6-9ab4-73372b812a53.png">

Клонировать репозиторий можно так:

```
git clone SSH-адрес_вашего_форка
```

Команда клонирует репозиторий на ваш компьютер и подготовит всё необходимое для старта работы.

### 4. Начинайте обучение!

---

<a href="https://htmlacademy.ru/profession/fullstack"><img align="left" width="50" height="50" title="HTML Academy" src="https://up.htmlacademy.ru/static/img/intensive/nodejs/logo-for-github-2.png"></a>

Репозиторий создан для обучения на профессиональном онлайн‑курсе «[Node.js. Профессиональная разработка REST API](https://htmlacademy.ru/profession/fullstack)» от [HTML Academy](https://htmlacademy.ru).
85 changes: 85 additions & 0 deletions Workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Как работать над проектом

## Окружение

Для удобства работы над проектом используются инструменты из **Node.js** и **npm**. Все необходимые настройки произведены. Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js**. Актуальная версия **Node.js** указана в файле `package.json` в поле `node`. Затем, в терминале, перейдите в директорию с проектом и _единожды_ запустите команду:

```bash
npm install
```

Команда запустит процесс установки зависимостей проекта из **npm**.

### Сценарии

В `package.json` предопределено несколько сценариев.

#### Скомпилировать проект

```bash
npm run compile
```

Создаст директорию `dist` и скомпилирует проект.

#### Удалить скомпилированный проект

```bash
npm run clean
```

Удаляет директорию `dist`. Используется перед компиляцией.

#### Собрать проект

```bash
npm run build
```

Выполняет сборку проекта: удаляет ранее скомпилированный проект и компилирует заново.

#### Проверить линтером

```bash
npm run lint
```

Запуск проверки проекта статическим анализатором кода **ESLint**.

Линтер проверяет файлы только внутри директории `src`.

**Обратите внимание**, при запуске данной команды, ошибки выводятся в терминал.

#### Запустить ts-модуль без компиляции

```bash
npm run ts -- <Путь к модулю с ts-кодом>
```

Пакет `ts-node` позволяет выполнить TS-код в Node.js без предварительной компиляции. Используется только на этапе разработки.

#### Запустить проект

```bash
npm start
```

В процессе запуска проекта будет выполнен процесс «Сборки проекта» и запуска результирующего кода.

## Структура проекта

### Директория `src`

Исходный код проекта: компоненты, модули и так далее. Структура директории `src` может быть произвольной.

### Файл `Readme.md`

Инструкции по работе с учебным репозиторием.

### Файл `Contributing.md`

Советы и инструкции по внесению изменений в учебный репозиторий.

### Остальное

Все остальные файлы в проекте являются служебными. Пожалуйста, не удаляйте и не изменяйте их самовольно. Только если того требует задание или наставник.
9 changes: 9 additions & 0 deletions markup/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Директория с вёрсткой (markup)

* `login.html` - страница «Sign In» (Авторизация);
* `main.html` - страница «Main» (Главная страница со списком предложений):
* `main-empty.html` - без списка предложений;
* `property.html` — страница «Room» (Карточка предложения по аренде, пользователь авторизован):
* `property-not-logged.html` - пользователь не авторизован;
* `favorites.html` - страница «Favorites» (Избранное):
* `favorites-empty.html` - пустая страница.
2 changes: 2 additions & 0 deletions markup/css/main.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions markup/css/main.css.map

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions markup/favorites-empty.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>6 cities: favorites empty</title>
<link rel="stylesheet" href="css/main.css">
</head>

<body>
<div style="display: none">
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="icon-arrow-select" viewbox="0 0 7 4"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0l3.5 2.813L7 0v1.084L3.5 4 0 1.084V0z"></path></symbol><symbol id="icon-bookmark" viewbox="0 0 17 18"><path d="M3.993 2.185l.017-.092V2c0-.554.449-1 .99-1h10c.522 0 .957.41.997.923l-2.736 14.59-4.814-2.407-.39-.195-.408.153L1.31 16.44 3.993 2.185z"></path></symbol><symbol id="icon-star" viewbox="0 0 13 12"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 9.644L10.517 12 9.451 7.56 13 4.573l-4.674-.386L6.5 0 4.673 4.187 0 4.573 3.549 7.56 2.483 12 6.5 9.644z"></path></symbol></svg>
</div>

<div class="page page--favorites-empty">
<header class="header">
<div class="container">
<div class="header__wrapper">
<div class="header__left">
<a class="header__logo-link" href="main.html">
<img class="header__logo" src="img/logo.svg" alt="6 cities logo" width="81" height="41">
</a>
</div>
<nav class="header__nav">
<ul class="header__nav-list">
<li class="header__nav-item user">
<a class="header__nav-link header__nav-link--profile" href="#">
<div class="header__avatar-wrapper user__avatar-wrapper">
</div>
<span class="header__user-name user__name">[email protected]</span>
</a>
</li>
<li class="header__nav-item">
<a class="header__nav-link" href="#">
<span class="header__signout">Sign out</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</header>

<main class="page__main page__main--favorites page__main--favorites-empty">
<div class="page__favorites-container container">
<section class="favorites favorites--empty">
<h1 class="visually-hidden">Favorites (empty)</h1>
<div class="favorites__status-wrapper">
<b class="favorites__status">Nothing yet saved.</b>
<p class="favorites__status-description">Save properties to narrow down search or plan your future trips.</p>
</div>
</section>
</div>
</main>
<footer class="footer">
<a class="footer__logo-link" href="main.html">
<img class="footer__logo" src="img/logo.svg" alt="6 cities logo" width="64" height="33">
</a>
</footer>
</div>
</body>
</html>
Loading

0 comments on commit a8eaa84

Please sign in to comment.