├── .eslintrc.json ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── app ├── actions │ ├── getCurrentUser.ts │ ├── getFavoriteListings.ts │ ├── getListingById.ts │ ├── getListings.ts │ └── getReservations.ts ├── api │ ├── favorites │ │ └── [listingId] │ │ │ └── route.ts │ ├── listings │ │ ├── [listingId] │ │ │ └── route.ts │ │ └── route.ts │ ├── register │ │ └── route.ts │ └── reservations │ │ ├── [reservationId] │ │ └── route.ts │ │ └── route.ts ├── components │ ├── Avatar.tsx │ ├── Button.tsx │ ├── CategoryBox.tsx │ ├── ClientOnly.tsx │ ├── Container.tsx │ ├── EmptyState.tsx │ ├── Heading.tsx │ ├── HeartButton.tsx │ ├── Loader.tsx │ ├── Map.tsx │ ├── Navbar │ │ ├── Categories.tsx │ │ ├── Logo.tsx │ │ ├── MenuItem.tsx │ │ ├── Navbar.tsx │ │ ├── Search.tsx │ │ └── UserMenu.tsx │ ├── README.md │ ├── inputs │ │ ├── Calendar.tsx │ │ ├── CategoryInput.tsx │ │ ├── Counter.tsx │ │ ├── CountrySelect.tsx │ │ ├── ImageUpload.tsx │ │ └── input.tsx │ ├── listings │ │ ├── ListingCard.tsx │ │ ├── ListingCategory.tsx │ │ ├── ListingHead.tsx │ │ ├── ListingInfo.tsx │ │ └── ListingReservation.tsx │ └── modals │ │ ├── LoginModal.tsx │ │ ├── Modal.tsx │ │ ├── RegisterModal.tsx │ │ ├── RentModal.tsx │ │ └── SearchModal.tsx ├── error.tsx ├── favicon.ico ├── favorites │ ├── FavoritesClient.tsx │ └── page.tsx ├── globals.css ├── hooks │ ├── useCountries.ts │ ├── useFavorite.ts │ ├── useLoginModal.ts │ ├── useRegisterModal.ts │ ├── useRentModal.ts │ └── useSearchModal.ts ├── layout.tsx ├── libs │ └── prismadb.ts ├── listings │ └── [listingId] │ │ ├── ListingClient.tsx │ │ └── page.tsx ├── loading.tsx ├── page.tsx ├── properties │ ├── PropertiesClient.tsx │ └── page.tsx ├── providers │ └── ToasterProvider.tsx ├── reservations │ ├── ReservationClient.tsx │ └── page.tsx ├── trips │ ├── TripsClient.tsx │ └── page.tsx └── types │ └── index.ts ├── middleware.ts ├── next.config.js ├── package.json ├── pages └── api │ └── auth │ └── [...nextauth].ts ├── postcss.config.js ├── prisma └── schema.prisma ├── public ├── images │ ├── logo.png │ └── placeholder.jpg ├── next.svg ├── thirteen.svg └── vercel.svg ├── tailwind.config.js └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/README.md -------------------------------------------------------------------------------- /app/actions/getCurrentUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/actions/getCurrentUser.ts -------------------------------------------------------------------------------- /app/actions/getFavoriteListings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/actions/getFavoriteListings.ts -------------------------------------------------------------------------------- /app/actions/getListingById.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/actions/getListingById.ts -------------------------------------------------------------------------------- /app/actions/getListings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/actions/getListings.ts -------------------------------------------------------------------------------- /app/actions/getReservations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/actions/getReservations.ts -------------------------------------------------------------------------------- /app/api/favorites/[listingId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/favorites/[listingId]/route.ts -------------------------------------------------------------------------------- /app/api/listings/[listingId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/listings/[listingId]/route.ts -------------------------------------------------------------------------------- /app/api/listings/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/listings/route.ts -------------------------------------------------------------------------------- /app/api/register/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/register/route.ts -------------------------------------------------------------------------------- /app/api/reservations/[reservationId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/reservations/[reservationId]/route.ts -------------------------------------------------------------------------------- /app/api/reservations/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/api/reservations/route.ts -------------------------------------------------------------------------------- /app/components/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Avatar.tsx -------------------------------------------------------------------------------- /app/components/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Button.tsx -------------------------------------------------------------------------------- /app/components/CategoryBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/CategoryBox.tsx -------------------------------------------------------------------------------- /app/components/ClientOnly.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/ClientOnly.tsx -------------------------------------------------------------------------------- /app/components/Container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Container.tsx -------------------------------------------------------------------------------- /app/components/EmptyState.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/EmptyState.tsx -------------------------------------------------------------------------------- /app/components/Heading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Heading.tsx -------------------------------------------------------------------------------- /app/components/HeartButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/HeartButton.tsx -------------------------------------------------------------------------------- /app/components/Loader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Loader.tsx -------------------------------------------------------------------------------- /app/components/Map.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Map.tsx -------------------------------------------------------------------------------- /app/components/Navbar/Categories.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/Categories.tsx -------------------------------------------------------------------------------- /app/components/Navbar/Logo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/Logo.tsx -------------------------------------------------------------------------------- /app/components/Navbar/MenuItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/MenuItem.tsx -------------------------------------------------------------------------------- /app/components/Navbar/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/Navbar.tsx -------------------------------------------------------------------------------- /app/components/Navbar/Search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/Search.tsx -------------------------------------------------------------------------------- /app/components/Navbar/UserMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/Navbar/UserMenu.tsx -------------------------------------------------------------------------------- /app/components/README.md: -------------------------------------------------------------------------------- 1 | Components Folder 2 | -------------------------------------------------------------------------------- /app/components/inputs/Calendar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/Calendar.tsx -------------------------------------------------------------------------------- /app/components/inputs/CategoryInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/CategoryInput.tsx -------------------------------------------------------------------------------- /app/components/inputs/Counter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/Counter.tsx -------------------------------------------------------------------------------- /app/components/inputs/CountrySelect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/CountrySelect.tsx -------------------------------------------------------------------------------- /app/components/inputs/ImageUpload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/ImageUpload.tsx -------------------------------------------------------------------------------- /app/components/inputs/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/inputs/input.tsx -------------------------------------------------------------------------------- /app/components/listings/ListingCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/listings/ListingCard.tsx -------------------------------------------------------------------------------- /app/components/listings/ListingCategory.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/listings/ListingCategory.tsx -------------------------------------------------------------------------------- /app/components/listings/ListingHead.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/listings/ListingHead.tsx -------------------------------------------------------------------------------- /app/components/listings/ListingInfo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/listings/ListingInfo.tsx -------------------------------------------------------------------------------- /app/components/listings/ListingReservation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/listings/ListingReservation.tsx -------------------------------------------------------------------------------- /app/components/modals/LoginModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/modals/LoginModal.tsx -------------------------------------------------------------------------------- /app/components/modals/Modal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/modals/Modal.tsx -------------------------------------------------------------------------------- /app/components/modals/RegisterModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/modals/RegisterModal.tsx -------------------------------------------------------------------------------- /app/components/modals/RentModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/modals/RentModal.tsx -------------------------------------------------------------------------------- /app/components/modals/SearchModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/components/modals/SearchModal.tsx -------------------------------------------------------------------------------- /app/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/error.tsx -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/favorites/FavoritesClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/favorites/FavoritesClient.tsx -------------------------------------------------------------------------------- /app/favorites/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/favorites/page.tsx -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/hooks/useCountries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useCountries.ts -------------------------------------------------------------------------------- /app/hooks/useFavorite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useFavorite.ts -------------------------------------------------------------------------------- /app/hooks/useLoginModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useLoginModal.ts -------------------------------------------------------------------------------- /app/hooks/useRegisterModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useRegisterModal.ts -------------------------------------------------------------------------------- /app/hooks/useRentModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useRentModal.ts -------------------------------------------------------------------------------- /app/hooks/useSearchModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/hooks/useSearchModal.ts -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/libs/prismadb.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/libs/prismadb.ts -------------------------------------------------------------------------------- /app/listings/[listingId]/ListingClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/listings/[listingId]/ListingClient.tsx -------------------------------------------------------------------------------- /app/listings/[listingId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/listings/[listingId]/page.tsx -------------------------------------------------------------------------------- /app/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/loading.tsx -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/page.tsx -------------------------------------------------------------------------------- /app/properties/PropertiesClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/properties/PropertiesClient.tsx -------------------------------------------------------------------------------- /app/properties/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/properties/page.tsx -------------------------------------------------------------------------------- /app/providers/ToasterProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/providers/ToasterProvider.tsx -------------------------------------------------------------------------------- /app/reservations/ReservationClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/reservations/ReservationClient.tsx -------------------------------------------------------------------------------- /app/reservations/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/reservations/page.tsx -------------------------------------------------------------------------------- /app/trips/TripsClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/trips/TripsClient.tsx -------------------------------------------------------------------------------- /app/trips/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/trips/page.tsx -------------------------------------------------------------------------------- /app/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/app/types/index.ts -------------------------------------------------------------------------------- /middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/middleware.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/package.json -------------------------------------------------------------------------------- /pages/api/auth/[...nextauth].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/pages/api/auth/[...nextauth].ts -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/postcss.config.js -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/public/images/logo.png -------------------------------------------------------------------------------- /public/images/placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/public/images/placeholder.jpg -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/thirteen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/public/thirteen.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stanwukong/AirBnb_FullStack/HEAD/tsconfig.json --------------------------------------------------------------------------------