Revora is a vacation rental platform inspired by Airbnb. It is built using Next.js with TypeScript, React Hook Form, MongoDB, and NextAuth.js.
Revora aims to provide users with the ability to:
- Browse and search for vacation rentals.
- View property details, images, and availability.
- Book and manage reservations.
- Authenticate using NextAuth.js.
- Utilize efficient form handling with React Hook Form.
- Store data in MongoDB for scalability.
Revora/ ├── components/ # Reusable UI components ├── pages/ # Next.js pages and routes │ ├── api/ # API routes for server-side functions │ ├── property/ # Property related pages (listing, details) │ ├── reservation/ # Reservation related pages (booking, management) │ ├── user/ # User related pages (profile, authentication) │ ├── index.tsx # Home page ├── public/ # Public assets (images, fonts) ├── styles/ # Global styles and themes ├── utils/ # Utility functions and helpers ├── .env.local # Local environment variables ├── next.config.js # Next.js configuration ├── tsconfig.json # TypeScript configuration ├── package.json # Project dependencies and scripts └── README.md # Project documentation
bash Copy code
-
Clone this repository:
git clone https://github.com/yourusername/Revora.git
Install project dependencies:
sh Copy code cd Revora npm install Set up environment variables:
Create an .env.local file in the project root and add necessary variables:
makefile Copy code MONGODB_URI=your_mongodb_uri NEXTAUTH_URL=http://localhost:3000 Run the development server:
sh Copy code npm run dev Open your browser and access the app at http://localhost:3000.
Available Scripts In the project directory, you can run:
npm run dev: Starts the development server. npm run build: Builds the production-ready app. npm start: Starts the production server. Additional Information For more information on building with Next.js, TypeScript, React Hook Form, MongoDB, and NextAuth.js, refer to the respective official documentation.
Next.js TypeScript React Hook Form MongoDB NextAuth.js