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
·
>
- 🔐 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.
Our application is built with a modern and robust technology stack:
| Category | Technology |
|---|---|
| Frontend | |
| Backend | |
| Database | |
| Authentication | |
| Image Storage | |
| Tooling | connect-flash, express-session, connect-mongo, method-override, dotenv, joi |
To get a local copy up and running, follow these simple steps.
Make sure you have the following installed:
- Node.js (
v20.xor higher) - npm (Node Package Manager)
- MongoDB (or a MongoDB Atlas account)
- Clone the repository:
git clone https://github.com/MehakGo/CoprStay.git cd CorpStay - Install NPM packages:
npm install
- Set up environment variables:
Create a
.envfile 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>
- Start the server:
npm start
- 🎉 Open your browser and navigate to
http://localhost:8080.
.
├── 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
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the ISC License. See LICENSE for more information.