► INSERT-TEXT-HERE
Developed with the software and tools below.
► INSERT-TEXT-HERE
► INSERT-TEXT-HERE
└── 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
.
src.pages.api.auth
src.components.ui
src.lib
File |
Summary |
utils.ts |
► INSERT-TEXT-HERE |
src.app
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]
src.app.actions
src.app.components
src.app.components.Inputs
src.app.components.Navbar
src.app.components.Modals
src.app.components.listings
src.app.libs
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
src.app.providers
src.app.my-properties
src.app.hooks
src.app.favorites
src.app.my-reservations
prisma
Requirements
Ensure you have the following dependencies installed on your system:
- TypeScript:
version x.y.z
- Clone the roomly repository:
git clone https://github.com/Houssem64/roomly
- Change to the project directory:
- Install the dependencies:
Use the following command to run roomly:
npm run build && node dist/main.js
To execute tests, run:
Contributions are welcome! Here are several ways you can contribute:
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/Houssem64/roomly
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- 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.
This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.
Return