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
Сайт о горнолыжном курорте "Шерегеш" с возможностью бронирования отелей
- Host: GitHub
- URL: https://github.com/deniska69/gesh-live
- Owner: deniska69
- Created: 2022-05-12T20:47:25.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-25T19:43:20.000Z (about 4 years ago)
- Last Synced: 2025-06-30T06:43:42.139Z (about 1 year ago)
- Topics: axios, exrpress, javascript, jodit, mongodb, nodejs, react, reactjs, rest-api
- Language: JavaScript
- Homepage: https://gostev.site/portfolio/SheregeshLive
- Size: 14.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```