Giter Site home page Giter Site logo

fullstack_booking_hotels_application's Introduction

Diplom - Netology fullstack js developer

Booking hotels application - React single page aplication with server built on NestJS .

Main technologies:

TypeScript MongoDB React ReactHookForm Redux ReactRouter Vite Lerna NestJS SoketIO MaterialUI Mongoose Docker Ubuntu Nginx letsencrypt

Деплой на облаке: https://diplomproject.duckdns.org

Техническое задание: https://github.com/netology-code/fjs-diplom

Функционал

  • Аутентификация и авторизация,
  • Регистрация,
  • Создание страниц гостиниц и номеров
  • Загрузка фото номеров и гостиниц
  • Поиск и бронирование номеров по датам
  • Поиск пользователей и создание аккаунтов администратором
  • Чаты тех. поддержки, создание/архивация чатов
  • Отправка/получение сообщений по протоколу websocket,
  • Подгрузка старых сообщений,
  • Валидация вводимых пользователем значений.

Установка

Как запускать проект локально через Docker?

  1. Убедитесь что у вас установлен docker, если используете Windows вам потребуется установка WSL,
  2. Склонируйте репозиторий git clone https://github.com/SilantevR/fullstack_booking_hotels_application.git,
  3. Перейдите в папку проекта,
  4. Выполните команду docker compose up -d,
  5. После создания и запуска контейнеров, приложение будет доступно на `http://localhost:3000.
  6. Зарегистрируйте учетную запись в приложении.

Для доступа к полному функционалу приложения потребуется внести учетную запись администратора в базу данных

  1. Выполните команду docker ps,
  2. В списке найдите IMAGE с названием mongo скопируйте CONTAINER ID,
  3. Выполните команду docker exec -it <CONTAINER ID> mongosh --username <MONGO_INITDB_ROOT_USERNAME> --password,
  4. Введите пароль <MONGO_INITDB_ROOT_PASSWORD>,

P.S. <MONGO_INITDB_ROOT_USERNAME> и <MONGO_INITDB_ROOT_PASSWORD> переменные файла .env

  1. db.users.insertOne({ name: "Admin", role: "admin", email: "[email protected]", phone: "+79999999999", password:'$2b$10$sGo9v5TPrUC/yuhNehr8WuS/czlP6n813liaarL3.5apVPqe5VILW' }),
  2. Теперь вам доступна учетная запись администратора email: "[email protected]", password: "123_Aa_123"

Как запускать проект локально через Lerna?

  1. Убедитесь что у вас установлен node, npm, git, mongodb,
  2. Склонируйте репозиторий git clone https://github.com/SilantevR/fullstack_booking_hotels_application.git,
  3. Перейдите в папку проекта,
  4. Выполните команды npm install,
  5. Выполните команду npm run start чтобы запустить приложение в dev-режиме,
  6. Выполните команду npm run start-client чтобы запустить только клиент в dev-режиме,
  7. Выполните команду npm run start-server чтобы запустить только сервер в dev-режиме,

Для доступа к полному функционалу приложения потребуется внести учетную запись администратора в базу данных

  1. Выполните команду mongosh,
  2. db.users.insertOne({ name: "Admin", role: "admin", email: "[email protected]", phone: "+79999999999", password:'$2b$10$sGo9v5TPrUC/yuhNehr8WuS/czlP6n813liaarL3.5apVPqe5VILW' }),
  3. Теперь вам доступна учетная запись администратора email: "[email protected]", password: "123_Aa_123"

Как добавить зависимости через Lerna?

  • Чтобы добавить зависимость для клиента и сервера: npm install <dependency>

  • для клиента: npm install <dependency> -w client

  • для сервера: npm install <dependency> -w server

Добавить dev зависимость, то же самое, но с флагом -D: npm install -D <dependency> -w <package>

fullstack_booking_hotels_application's People

Contributors

silantevr avatar

Watchers

 avatar

Forkers

krassler

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.