Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
opifex authored and opifex committed Dec 14, 2023
0 parents commit 06ed2d6
Show file tree
Hide file tree
Showing 173 changed files with 12,995 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Node CI
on:
- push
- pull_request
env:
CI: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Tests
run: npm test

- name: Code coverage
uses: paambaati/codeclimate-action@v4.0.0
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: npm test -- --coverage --coverageProvider=v8
debug: true
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/dist
# misc
Thumbs.db
.DS_Store
.env
*.log*

npm-debug.log*
yarn-debug.log*
yarn-error.log*

# editors
.idea
*.sublime*
.vscode
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 git@github.com:htmlacademy-react/2342349-six-cities-14.git
```

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

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

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

--

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

Посмотрите [коллекцию часто задаваемых вопросов по Git](http://firstaidgit.ru).
45 changes: 45 additions & 0 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[![Node CI]()]()
[![Maintainability]()]()

# Six Cities

Six Cities is a sophisticated web application tailored for travelers seeking budget-friendly accommodation. It offers an efficient solution for finding rental properties in six popular cities. Developed with a modern tech stack, the service stands out with its user-friendly interface and detailed property listings.

## Description

The Six Cities app provides a seamless experience for users to browse and choose rental accommodations. It features a variety of pages including Main, Login, Favorites (private), and Offer, each with unique functionalities:

- **Main Page**: Showcases a list of cities and rental offers, with an interactive map and sorting options.
- **Login Page**: Handles user authentication.
- **Favorites Page**: Displays user-favorited listings, accessible only to authenticated users.
- **Offer Page**: Offers detailed information about each rental property.

Additionally, the app handles undefined routes with a custom 404 page, enhancing the user experience.

## Functionalities

- **Authentication**: Manages user sessions and access to private pages.
- **Dynamic Listing**: Updates rental offers and map markers based on the selected city.
- **User Reviews**: Allows authenticated users to post reviews on rental properties.
- **Favorites Management**: Enables users to add or remove properties from their favorites.

## Technologies

### Technologies Used
- **React & React DOM**: For building the user interface.
- **Redux Toolkit & React Redux**: For efficient state management.
- **Axios**: For making HTTP requests.
- **Leaflet**: To integrate interactive maps.
- **React Router DOM**: For app routing and navigation.

### Development Tools

- **Vite**: For efficient bundling and development.
- **TypeScript**: Ensuring type safety.
- **ESLint**: Maintaining code quality.
- **Jest & Testing Library**: For thorough testing of components and functionalities.


## License

This project is licensed under the ISC License.
30 changes: 30 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="/">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>6 cities</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>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
</body>
</html>
Loading

0 comments on commit 06ed2d6

Please sign in to comment.