VacationVibe : приложение для бронирования жилья для отдыха
VacationVibe — это полнофункциональное приложение для бронирования, которое позволяет пользователям бронировать жилье на время отпуска, обеспечивая удобство бронирования жилья. Приложение позволяет пользователям создавать списки своих объектов недвижимости, давая владельцам недвижимости возможность продемонстрировать свою аренду потенциальным гостям. С помощью VacationVibe пользователи могут легко искать доступные объекты недвижимости, просматривать подробную информацию о них, делать заказы и управлять ими.
Чтобы лично испытать VacationVibe , посетите наш веб-сайт и ознакомьтесь с живой демонстрацией:
Посетите веб-сайт для живой демонстрации
Ключевые особенности
- Система бронирования: пользователи могут легко искать доступные объекты недвижимости и делать заказы.
- Создание объявлений: Владельцы недвижимости могут создавать свои объявления и управлять ими.
- Панель управления: владельцы недвижимости имеют доступ к панели управления, где они могут управлять своими объявлениями и просматривать запросы на бронирование.
- Учетные записи пользователей: пользователи могут создавать учетные записи, чтобы сохранять свои любимые объекты и управлять бронированиями.
Технологический стек
Приложение разработано с использованием следующих технологий:
- MongoDB: база данных NoSQL, используемая для хранения данных о собственности и пользователях.
- Express.js: серверная платформа для создания RESTful API и обработки серверной логики.
- React: библиотека JavaScript для создания пользовательских интерфейсов.
- Tailwind CSS: фреймворк CSS, ориентированный на утилиты и используемый для стилизации интерфейса.
- Node.js: среда выполнения JavaScript, используемая для запуска серверного кода.
- Vercel: облачная платформа для размещения и развертывания статических сайтов, используемая для развертывания внешнего интерфейса приложения.
- AWS S3: Amazon Simple Storage Service (S3) для хранения файлов, позволяющий пользователям загружать и получать изображения объектов недвижимости. Он обеспечивает безопасное и масштабируемое хранилище файлов, обеспечивая надежную и эффективную систему обработки изображений объектов недвижимости.
Начиная
Чтобы запустить приложение VacationVibe локально, выполните следующие действия:
- Клонируйте репозиторий:
git clone https://github.com/junaidsaleem10144/VacationVibe.git
- Перейдите в каталог проекта:
cd VacationVibe
- Установите зависимости:
- Серверная часть: перейдите в папку
api
и запустите npm install
- Интерфейс: перейдите в папку
client
и запустите npm install
- Создайте файл
.env
в папке api
и укажите необходимые переменные среды. Вы можете обратиться к файлу .env.example
для получения необходимых переменных. - Запустите серверы разработки:
- Серверная часть: в папке
api
запустите npm run dev
- Интерфейс: в папке
client
запустите npm run start
Теперь вы можете получить доступ к приложению VacationVibe , открыв браузер и посетив http://localhost:4000
.
Структура папок
Проект имеет определенную структуру папок:
-
api/
: содержит внутренний код, включая настройку сервера, маршруты и модели. -
client/
: содержит код внешнего интерфейса, включая компоненты React, стили и ресурсы.
Благодарности
Мы хотели бы выразить благодарность следующим ресурсам и библиотекам, которые сыграли важную роль в разработке VacationVibe :
Бэкэнд
- bcryptjs: библиотека для хеширования и сравнения паролей.
- cookie-parser: промежуточное программное обеспечение для анализа файлов cookie в Express.
- cors: промежуточное программное обеспечение для включения совместного использования ресурсов между источниками (CORS).
- dotenv: Модуль для загрузки переменных среды из файла .env.
- jsonwebtoken: библиотека для создания и проверки веб-токенов JSON (JWT).
- mongoose: библиотека моделирования объектных данных (ODM) для MongoDB.
- multer: Промежуточное программное обеспечение для обработки загрузки файлов в Express.
- @aws-sdk/client-s3: клиентская библиотека для взаимодействия с Amazon S3 для хранения файлов.
- image-downloader: библиотека для загрузки изображений с URL-адресов.
- mime-types: Библиотека для работы с MIME-типами.
- express: веб-фреймворк для Node.js.
Зависимости разработки (бэкенд):
- nodemon: утилита, которая автоматически перезапускает сервер Node.js при обнаружении изменений в файлах.
Внешний интерфейс
- axios: Библиотека для выполнения HTTP-запросов.
- date-fns: библиотека для управления и форматирования дат.
- response-router-dom: библиотека для управления маршрутизацией в приложениях React.
- реагирование: библиотека JavaScript для создания пользовательских интерфейсов.
- реакции-дом: пакет для рендеринга компонентов React.
Зависимости разработки (Frontend):
- @types/react: определения типов для React.
- @types/react-dom: определения типов для React DOM.
- @vitejs/plugin-react: плагин Vite для поддержки React.
- autoprefixer: плагин PostCSS для добавления префиксов поставщиков в CSS.
- postcss: инструмент постпроцессора CSS.
- Tailwindcss: фреймворк CSS, ориентированный на утилиты.
- vite: инструмент для современной веб-разработки.
Благодарим вас за выбор VacationVibe ! Если у вас есть какие-либо вопросы или отзывы, пожалуйста, свяжитесь с нами.
Содействие
Вклады в приложение VacationVibe приветствуются! Если вы обнаружите какие-либо проблемы или захотите добавить новые функции, смело открывайте запрос на включение.
Лицензия
Этот проект лицензируется по лицензии MIT.