An open API service indexing awesome lists of open source software.

https://github.com/deniska69/gesh-live

Сайт о горнолыжном курорте "Шерегеш" с возможностью бронирования отелей
https://github.com/deniska69/gesh-live

axios exrpress javascript jodit mongodb nodejs react reactjs rest-api

Last synced: 3 months ago
JSON representation

Сайт о горнолыжном курорте "Шерегеш" с возможностью бронирования отелей

Awesome Lists containing this project

README

          

# Шерегеш LIVE

Шерегеш LIVE - Сайт, разрабатываемый с весны 2021г. в ходе изучения библиотеки для создания Web-приложений - React. Для покрытия всех задач возникавших в процессе разработки - был выбран стек "M.E.R.N.". Выбор данного набора технологий был обоснован доступностью обучающих материалов.
Скриншоты можно посмотреть по ссылке: [https://gostev.site/portfolio/SheregeshLive](https://gostev.site/portfolio/SheregeshLive)

## В ходе разработки сайта были реализованы следующие задачи:

- Основные возможности библиотеки React в том числе отображение разработанных компонентов без перезагрузки страницы сайта в браузере;
- Отправка и обработка HTTP-запросов между клиентской и серверной частями сайта;
- Взаимодествие с документоориентированной системой управления базами данных - MongoDB;
- Регистрация пользователей и шифрование паролей для хранения их в базе данных в шифрованном виде;
- Авторизация пользователей и поддержка активной сессии по JWT-токену;
- Подбор апартаментов в отелях по заданным параметрам;
- Отправка запроса на бронирование апартаментов пользователем;
- Отправка эл.писем пользователю об регистрации запроса на бронирование апартаментов, а также об изменении статуса бронирования;
- Отправка эл.письма менеджеру отеля с уникальной ссылкой на страницу подтверждения/отклонения запроса на бронирование апартаментов;
- Отображение статуса активных запросов на бронирование апартаментов в личном кабинете пользователя;
- Отображение истории бронирования апартаментов в личном кабинете пользователя;
- Форма обратной связи;
- Загрузка изображений на сервер, получение прямых URL для отображения на сайте;
- Отображение карточки отеля со всеми данными;
- Отображение текущей погоды в п.Шерегеш путём запроса к API [OpenWeather](https://openweathermap.org/).

## Проект разработан при помощи набора технологий **"M.E.R.N"**, в состав которого входит:

- [**MongoDB**](https://www.mongodb.com/) - документоориентированная система управления базами данных, не требующая описания схемы таблиц.
- [**Express** ](https://expressjs.com/)- веб-фреймворк для приложений Node.js, предоставляющий обширный набор функций для мобильных и веб-приложений.
- [**React**](https://reactjs.org/) - JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов.
- [**Node.js**](https://nodejs.org/) - Программная платформа, основанная на движке V8, превращающая JavaScript из узкоспециализированного языка в язык общего назначения.

Дополнительные технологии использовнные для разработки проекта:

- [**Bootstrap**](https://getbootstrap.com/) - Свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML- и CSS-шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейса, включая JavaScript-расширения.
- [**Axios**](https://axios-http.com/) - HTTP-клиент для Node.js, для выполнения HTTP-запросов на стороне сервера и XMLHttpRequests-запрос на стороне клиента (браузера).
- [**Redux**](https://redux.js.org/) - Библиотека для JavaScript с открытым исходным кодом, предназначенная для управления состоянием приложения.
- [**jsonwebtoken**](https://www.npmjs.com/package/jsonwebtoken) - Библиотека для создания и управления токенами доступа по открытому стандарту [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519).
- [**bcrypt.js**](https://www.npmjs.com/package/bcryptjs) - Библиотека для хэширования и шифрования данных.
- [**Nodemailer**](https://nodemailer.com/about/) - Библиотека отправки электронных писем.
- [**Jodit**](https://xdsoft.net/jodit/) - WYSIWYG-редактор с открытым исходным кодом.
- [**React-Toastify**](https://www.npmjs.com/package/react-toastify) - Библиотека для вывода всплывающих уведомлений.

## Язык разработки:

```
JavaScript
```