Giter Site home page Giter Site logo

roomly's Introduction

ROOMLY

► INSERT-TEXT-HERE

license last-commit repo-top-language repo-language-count

Developed with the software and tools below.

JavaScript PostCSS React Axios TypeScript Prisma Leaflet JSON


Quick Links


Overview

► INSERT-TEXT-HERE


Features

► INSERT-TEXT-HERE


Repository Structure

└── roomly/
    ├── README.md
    ├── components.json
    ├── next.config.mjs
    ├── package-lock.json
    ├── package.json
    ├── postcss.config.mjs
    ├── prisma
    │   └── schema.prisma
    ├── public
    │   ├── images
    │   │   ├── logo.png
    │   │   └── placeholder.jpg
    │   ├── next.svg
    │   └── vercel.svg
    ├── src
    │   ├── app
    │   │   ├── actions
    │   │   │   ├── getAllListings.ts
    │   │   │   ├── getCurrentUser.ts
    │   │   │   ├── getFavoriteListings.ts
    │   │   │   ├── getListingById.ts
    │   │   │   ├── getListings.ts
    │   │   │   ├── getReservations.ts
    │   │   │   └── getUsers.ts
    │   │   ├── admin
    │   │   │   ├── dashboard
    │   │   │   │   └── page.tsx
    │   │   │   └── page.tsx
    │   │   ├── api
    │   │   │   ├── alllistings
    │   │   │   │   └── route.ts
    │   │   │   ├── favorites
    │   │   │   │   └── [listingId]
    │   │   │   ├── listings
    │   │   │   │   ├── [listingId]
    │   │   │   │   └── route.ts
    │   │   │   ├── register
    │   │   │   │   └── route.ts
    │   │   │   ├── reservations
    │   │   │   │   ├── [reservationId]
    │   │   │   │   └── route.ts
    │   │   │   └── users
    │   │   │       ├── [userId]
    │   │   │       └── route.ts
    │   │   ├── components
    │   │   │   ├── Avatar.tsx
    │   │   │   ├── Button.tsx
    │   │   │   ├── CategoryBox.tsx
    │   │   │   ├── Container.tsx
    │   │   │   ├── EmptyState.tsx
    │   │   │   ├── Heading.tsx
    │   │   │   ├── Inputs
    │   │   │   │   ├── Calendar.tsx
    │   │   │   │   ├── CategoryInput.tsx
    │   │   │   │   ├── Counter.tsx
    │   │   │   │   ├── CountrySelect.tsx
    │   │   │   │   ├── ImageUpload.tsx
    │   │   │   │   └── Input.tsx
    │   │   │   ├── Loader.tsx
    │   │   │   ├── Map.tsx
    │   │   │   ├── Modals
    │   │   │   │   ├── LoginModal.tsx
    │   │   │   │   ├── Modal.tsx
    │   │   │   │   ├── RegisterModal.tsx
    │   │   │   │   ├── RentModal.tsx
    │   │   │   │   └── SearchModal.tsx
    │   │   │   ├── Navbar
    │   │   │   │   ├── Categories.tsx
    │   │   │   │   ├── Logo.tsx
    │   │   │   │   ├── MenuItem.tsx
    │   │   │   │   ├── NavBar.tsx
    │   │   │   │   ├── Search.tsx
    │   │   │   │   └── UserMenu.tsx
    │   │   │   ├── TNDSvg.tsx
    │   │   │   └── listings
    │   │   │       ├── HeartButton.tsx
    │   │   │       ├── ListingCard.tsx
    │   │   │       ├── ListingCategory.tsx
    │   │   │       ├── ListingHead.tsx
    │   │   │       ├── ListingInfo.tsx
    │   │   │       └── ListingReservation.tsx
    │   │   ├── error.tsx
    │   │   ├── favicon.ico
    │   │   ├── favorites
    │   │   │   ├── FavoritesClient.tsx
    │   │   │   └── page.tsx
    │   │   ├── globals.css
    │   │   ├── hooks
    │   │   │   ├── useFavorite.ts
    │   │   │   ├── useLoginModal.ts
    │   │   │   ├── useRegisterModal.ts
    │   │   │   ├── useRentModal.ts
    │   │   │   └── useSearchModal.ts
    │   │   ├── layout.tsx
    │   │   ├── libs
    │   │   │   └── prismadb.ts
    │   │   ├── listings
    │   │   │   └── [listingId]
    │   │   │       ├── ListingClient.tsx
    │   │   │       └── page.tsx
    │   │   ├── loading.tsx
    │   │   ├── my-properties
    │   │   │   ├── MyProperties.tsx
    │   │   │   └── page.tsx
    │   │   ├── my-reservations
    │   │   │   ├── MyReservations.tsx
    │   │   │   └── page.tsx
    │   │   ├── page.tsx
    │   │   ├── property-reservations
    │   │   │   ├── ReservationsClient.tsx
    │   │   │   └── page.tsx
    │   │   ├── providers
    │   │   │   └── ToasterProvider.tsx
    │   │   └── types
    │   │       └── index.ts
    │   ├── components
    │   │   └── ui
    │   │       ├── avatar.tsx
    │   │       ├── badge.tsx
    │   │       ├── button.tsx
    │   │       ├── card.tsx
    │   │       ├── dropdown-menu.tsx
    │   │       ├── input.tsx
    │   │       └── table.tsx
    │   ├── lib
    │   │   └── utils.ts
    │   └── pages
    │       └── api
    │           └── auth
    │               └── [...nextauth].ts
    ├── tailwind.config.ts
    └── tsconfig.json

Modules

.
File Summary
postcss.config.mjs ► INSERT-TEXT-HERE
tailwind.config.ts ► INSERT-TEXT-HERE
components.json ► INSERT-TEXT-HERE
tsconfig.json ► INSERT-TEXT-HERE
package.json ► INSERT-TEXT-HERE
next.config.mjs ► INSERT-TEXT-HERE
package-lock.json ► INSERT-TEXT-HERE
src.pages.api.auth
File Summary
[...nextauth].ts ► INSERT-TEXT-HERE
src.components.ui
File Summary
avatar.tsx ► INSERT-TEXT-HERE
dropdown-menu.tsx ► INSERT-TEXT-HERE
badge.tsx ► INSERT-TEXT-HERE
card.tsx ► INSERT-TEXT-HERE
input.tsx ► INSERT-TEXT-HERE
table.tsx ► INSERT-TEXT-HERE
button.tsx ► INSERT-TEXT-HERE
src.lib
File Summary
utils.ts ► INSERT-TEXT-HERE
src.app
File Summary
error.tsx ► INSERT-TEXT-HERE
loading.tsx ► INSERT-TEXT-HERE
globals.css ► INSERT-TEXT-HERE
page.tsx ► INSERT-TEXT-HERE
layout.tsx ► INSERT-TEXT-HERE
src.app.admin
File Summary
page.tsx ► INSERT-TEXT-HERE
src.app.admin.dashboard
File Summary
page.tsx ► INSERT-TEXT-HERE
src.app.types
File Summary
index.ts ► INSERT-TEXT-HERE
src.app.listings.[listingId]
File Summary
ListingClient.tsx ► INSERT-TEXT-HERE
page.tsx ► INSERT-TEXT-HERE
src.app.actions
File Summary
getListings.ts ► INSERT-TEXT-HERE
getAllListings.ts ► INSERT-TEXT-HERE
getListingById.ts ► INSERT-TEXT-HERE
getUsers.ts ► INSERT-TEXT-HERE
getCurrentUser.ts ► INSERT-TEXT-HERE
getReservations.ts ► INSERT-TEXT-HERE
getFavoriteListings.ts ► INSERT-TEXT-HERE
src.app.components
File Summary
Loader.tsx ► INSERT-TEXT-HERE
Map.tsx ► INSERT-TEXT-HERE
Heading.tsx ► INSERT-TEXT-HERE
Avatar.tsx ► INSERT-TEXT-HERE
TNDSvg.tsx ► INSERT-TEXT-HERE
EmptyState.tsx ► INSERT-TEXT-HERE
Container.tsx ► INSERT-TEXT-HERE
Button.tsx ► INSERT-TEXT-HERE
CategoryBox.tsx ► INSERT-TEXT-HERE
src.app.components.Inputs
File Summary
Input.tsx ► INSERT-TEXT-HERE
CountrySelect.tsx ► INSERT-TEXT-HERE
Counter.tsx ► INSERT-TEXT-HERE
CategoryInput.tsx ► INSERT-TEXT-HERE
ImageUpload.tsx ► INSERT-TEXT-HERE
Calendar.tsx ► INSERT-TEXT-HERE
src.app.components.Navbar
File Summary
Search.tsx ► INSERT-TEXT-HERE
NavBar.tsx ► INSERT-TEXT-HERE
UserMenu.tsx ► INSERT-TEXT-HERE
Logo.tsx ► INSERT-TEXT-HERE
MenuItem.tsx ► INSERT-TEXT-HERE
Categories.tsx ► INSERT-TEXT-HERE
src.app.components.Modals
File Summary
SearchModal.tsx ► INSERT-TEXT-HERE
Modal.tsx ► INSERT-TEXT-HERE
LoginModal.tsx ► INSERT-TEXT-HERE
RentModal.tsx ► INSERT-TEXT-HERE
RegisterModal.tsx ► INSERT-TEXT-HERE
src.app.components.listings
File Summary
HeartButton.tsx ► INSERT-TEXT-HERE
ListingInfo.tsx ► INSERT-TEXT-HERE
ListingCard.tsx ► INSERT-TEXT-HERE
ListingHead.tsx ► INSERT-TEXT-HERE
ListingReservation.tsx ► INSERT-TEXT-HERE
ListingCategory.tsx ► INSERT-TEXT-HERE
src.app.libs
File Summary
prismadb.ts ► INSERT-TEXT-HERE
src.app.api.register
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.reservations
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.reservations.[reservationId]
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.users
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.users.[userId]
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.listings
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.listings.[listingId]
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.alllistings
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.api.favorites.[listingId]
File Summary
route.ts ► INSERT-TEXT-HERE
src.app.property-reservations
File Summary
ReservationsClient.tsx ► INSERT-TEXT-HERE
page.tsx ► INSERT-TEXT-HERE
src.app.providers
File Summary
ToasterProvider.tsx ► INSERT-TEXT-HERE
src.app.my-properties
File Summary
MyProperties.tsx ► INSERT-TEXT-HERE
page.tsx ► INSERT-TEXT-HERE
src.app.hooks
File Summary
useRentModal.ts ► INSERT-TEXT-HERE
useLoginModal.ts ► INSERT-TEXT-HERE
useSearchModal.ts ► INSERT-TEXT-HERE
useRegisterModal.ts ► INSERT-TEXT-HERE
useFavorite.ts ► INSERT-TEXT-HERE
src.app.favorites
File Summary
page.tsx ► INSERT-TEXT-HERE
FavoritesClient.tsx ► INSERT-TEXT-HERE
src.app.my-reservations
File Summary
MyReservations.tsx ► INSERT-TEXT-HERE
page.tsx ► INSERT-TEXT-HERE
prisma
File Summary
schema.prisma ► INSERT-TEXT-HERE

Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • TypeScript: version x.y.z

Installation

  1. Clone the roomly repository:
git clone https://github.com/Houssem64/roomly
  1. Change to the project directory:
cd roomly
  1. Install the dependencies:
npm install

Running roomly

Use the following command to run roomly:

npm run build && node dist/main.js

Tests

To execute tests, run:

npm test

Project Roadmap

  • ► INSERT-TASK-1
  • ► INSERT-TASK-2
  • ► ...

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone https://github.com/Houssem64/roomly
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


License

This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.


Acknowledgments

  • List any resources, contributors, inspiration, etc. here.

Return


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.