Skip to content

MehakGo/CorpStay

Repository files navigation

CorpStay 🏨 - Corporate Rental Apartment Booking Website

Version License Node Version Status

Welcome to CorpStay! A full-stack web application designed for corporate employees to find and book affordable rental apartments.
It allows users to discover, list, and book unique accommodations in big IT hub cities. 🌍

View Demo · >


🌟 Key Features

  • 🔐 Authentication & Authorization: Secure user sign-up and login with robust session management.
  • 🔍 Advanced Search & Filtering: A full-stack rental platform with advanced search filters and smart tags for easy browsing.
  • 🎨 Modern UI/UX: A responsive, cross-browser-optimized UI with a modern 3D gradient color design for enhanced visual appeal.
  • ⚙️ Maintainable Backend: Built with a maintainable backend using CRUD operations, RESTful APIs, and MVC architecture.
  • ☁️ Secure Image Uploads: Integrated Cloudinary for secure and optimized image uploads.
  • Performance Optimized: Implemented performance optimization techniques for scalability and faster load times.
  • Create & Manage Listings: Authenticated users can easily create, update, and delete their own property listings.
  • Reviews and Ratings: Users can leave reviews and ratings for properties to help others make informed decisions.

🛠️ Tech Stack

Our application is built with a modern and robust technology stack:

Category Technology
Frontend EJS CSS3 JavaScript
Backend Node.js Express.js
Database MongoDB
Authentication Passport.js
Image Storage Cloudinary
Tooling connect-flash, express-session, connect-mongo, method-override, dotenv, joi

🚀 Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Make sure you have the following installed:

  • Node.js (v20.x or higher)
  • npm (Node Package Manager)
  • MongoDB (or a MongoDB Atlas account)

Installation

  1. Clone the repository:
    git clone https://github.com/MehakGo/CoprStay.git
    cd CorpStay
  2. Install NPM packages:
    npm install
  3. Set up environment variables: Create a .env file in the root directory and add your configuration:
    ATLASDB_URL=<your_mongodb_connection_string>
    SECRET=<your_session_secret>
    CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>
    CLOUDINARY_API_KEY=<your_cloudinary_api_key>
    CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>

Running the Application

  1. Start the server:
    npm start
  2. 🎉 Open your browser and navigate to http://localhost:8080.

📂 Project Structure

.
├── app.js              # Main application file
├── controllers/        # Route handlers (the brains)
├── models/             # Mongoose data models
├── public/             # Static assets (CSS, JS, images)
├── routes/             # Express route definitions
├── views/              # EJS templates (the face)
└── package.json        # Project dependencies

🤝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the ISC License. See LICENSE for more information.


About

CorpStay - Apartment Booking Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published