Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: SAwandya
  • Language: JavaScript
  • Default Branch: main
  • Size: 16.4 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 9 months ago
Metadata Files
Readme Citation

README.md

Hotel Booking Application

A full-stack hotel booking application built with React, Node.js, Express, and MongoDB. The application allows users to search for hotels, view room details, make bookings, and process payments. Hotel owners can manage their properties, rooms, and view booking details.

Features

  • User authentication via Clerk
  • Hotel and room management
  • Room booking system
  • Search functionality with filters
  • Payment processing
  • Responsive design for mobile and desktop

Technologies Used

  • Frontend:

    • React
    • Tailwind CSS
    • React Router
    • Clerk for authentication
    • Axios for API requests
  • Backend:

    • Node.js
    • Express
    • MongoDB
    • Mongoose
    • Cloudinary for image storage

Installation

Prerequisites

  • Node.js
  • MongoDB
  • Clerk account
  • Cloudinary account

Setup

  1. Clone the repository

git clone <repository-url> cd hotel-bookings

  1. Install dependencies for both client and server

cd client npm install cd ../server npm install

  1. Create .env file in the server directory with the following variables

PORT=3000 MONGODB_URI=<your-mongodb-uri> CLERK_SECRET_KEY=<your-clerk-secret-key> CLOUDINARY_CLOUD_NAME=<your-cloudinary-cloud-name> CLOUDINARY_API_KEY=<your-cloudinary-api-key> CLOUDINARY_API_SECRET=<your-cloudinary-api-secret>

  1. Create .env file in the client directory with the following variables

VITE_BACKEND_URL=http://localhost:3000 VITE_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>

  1. Start the server

cd server npm run dev

  1. Start the client cd client npm run dev

License

This project is licensed under the MIT License.

Acknowledgments

This project uses code elements from various open-source repositories, including:

  • UI components and patterns inspired by community projects
  • Select dropdown code pattern from https://github.com/Aldrin1807/WorkWise/
  • SVG icons and close button implementation inspired by various open-source UI libraries

Thank you to all the developers who share their code and knowledge.

Owner

  • Name: Sachila Awandya
  • Login: SAwandya
  • Kind: user

Citation (CITATIONS.md)

# Code Citations

This document contains citations for code snippets and patterns used in this project.

## UI Components

### Select City Dropdown

Source: https://github.com/Aldrin1807/WorkWise/blob/7c16fcbb4d02e4065b113258c4c19a4b90cf27cf/work-wise/src/Components/Middle/Content.tsx

```jsx
<select
  onChange={(e) => setCity(e.target.value)}
  value={city}
  id="city"
  className='className="border border-gray-200 rounded w-full px-3 py-2.5 mt-1 outline-indigo-500 font-light'
  required
>
  <option value="">Select City</option>
  {cities.map((city) => (
    <option key={city} value={city}>
      {city}
    </option>
  ))}
</select>
```

### Close Button SVG

Source: Multiple repositories including:

- https://github.com/Rajatgurung/vebholicReactTest/blob/1ec267c98ef58fdf4ea7ea529e73533fa8d73942/src/components/Util/Model.jsx
- https://github.com/chaskiq/chaskiq/blob/c136551b02a50d44ab65d43f690c1fe2e18a030b/app/javascript/src/pages/Billing.tsx
- https://github.com/Cyphen12/bawaseer.js/blob/31f3011599767afd4401304db1425840160ac72f/components/NavComponent.tsx

```jsx
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
  <path
    strokeLinecap="round"
    strokeLinejoin="round"
    strokeWidth="2"
    d="M6 18L18 6M6 6l12 12"
  ></path>
</svg>
```

All code has been modified and adapted to fit the needs of this project.

GitHub Events

Total
  • Push event: 5
Last Year
  • Push event: 5