Skip to content

Basseybd/EverStay

Repository files navigation

EverStay

EverStay is a full-stack web application for listing, discovering, and booking rental properties—similar to Airbnb. It’s built with the latest Next.js 13 App Router for fast, modern server-rendered pages and optimized performance.


Table of Contents

  1. Features
  2. Tech Stack
  3. Prerequisites
  4. Getting Started
  5. Database Setup
  6. Environment Variables
  7. Deployment
  8. License

Features

  • Property Listings: Easily list your home or browse available rentals.
  • Booking Workflow: Search by date, location, and property details.
  • User Authentication: Secure sign-up/sign-in flows via NextAuth.
  • Image Uploads: Seamless image hosting with Cloudinary CDN.
  • Responsive UI: Tailwind CSS ensures a consistent, beautiful design across devices.
  • Scalable Database: Prisma + MongoDB for robust data handling.

Tech Stack


Prerequisites


Getting Started

  1. Clone the repository:

    git clone https://github.com/Basseybd/EverStay.git
    cd EverStay
  2. Install dependencies:

    # Using yarn
    yarn install
    
    # or using npm
    npm install
  3. Set up environment variables (see Environment Variables).

  4. Start the development server:

    yarn dev
    # or
    npm run dev

    Your app should now be running on http://localhost:3000.


Database Setup

EverStay uses MongoDB via Prisma for a type-safe schema. After configuring your environment variables:

  1. Push your Prisma schema to the database:

    npx prisma db push
  2. (Optional) Generate Prisma Client if not already generated:

    npx prisma generate
  3. Your MongoDB database is now ready to store listings, user data, and more.


Environment Variables

Create a .env (or .env.local) file at the root of your project and supply the following variables:

# MongoDB Connection
DATABASE_URL="mongodb+srv://YOUR_USER:YOUR_PASSWORD@cluster0.mongodb.net/EverStay?retryWrites=true&w=majority"

# NextAuth
NEXTAUTH_SECRET="A_LONG_SECURE_STRING"
NEXTAUTH_URL="http://localhost:3000"  # or your production URL

# Cloudinary
CLOUDINARY_CLOUD_NAME="your_cloud_name"
CLOUDINARY_API_KEY="your_api_key"
CLOUDINARY_API_SECRET="your_api_secret"

Important: Never commit your real credentials to version control. Use environment-specific files or a secrets manager in production.


Deployment

EverStay is hosted on Vercel. To deploy:

  1. Push your code to a GitHub repository.
  2. Connect the repository to Vercel.
  3. Add environment variables in your Vercel dashboard.
  4. Trigger a deployment—Vercel will handle building and serving your Next.js project.

For custom domains, project settings, or advanced configurations, refer to the Vercel documentation.


License

This project is open-source under the MIT License. You’re free to clone, modify, and distribute as per the license terms.


Questions or Feedback?

Feel free to reach out via GitHub Issues if you encounter any bugs or have feature requests. Happy coding!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages