CampusRent is a platform designed to facilitate renting and lending of campus-related items (e.g., textbooks, electronics, dorm essentials) among students. This repository contains the full-stack source code, with the backend hosted on Google App Engine and the frontend deployed on GitLab Pages.
- User authentication (login/signup)
- Post rental listings with images, descriptions, and pricing
- Search and filter items by category, price, or location
- Real-time chat between borrowers and lenders
- Manage rentals (create, update, delete listings)
- Responsive design for mobile and desktop
- React: JavaScript library for building dynamic user interfaces.
- React Router: Handles client-side routing and navigation.
- Axios: Promise-based HTTP client for API communication.
- Bootstrap/Material-UI: Responsive styling and UI components.
- GitLab Pages: Static frontend hosting with CI/CD pipelines.
- Node.js: JavaScript runtime for server-side logic.
- Express.js: Framework for building RESTful APIs.
- MongoDB: NoSQL database for storing user data, listings, and transactions.
- Mongoose: ODM (Object Data Modeling) for MongoDB.
- Google App Engine: Scalable cloud hosting for the backend API.
- JWT: JSON Web Tokens for secure user authentication.
- Git: Version control and collaboration.
- Postman: API testing and documentation.
- ESLint/Prettier: Code quality and formatting.
- The Node.js/Express API is deployed on Google App Engine for automatic scaling and managed infrastructure.
- Environment variables (e.g., MongoDB URI, JWT secret) are configured via
app.yaml. - API Base URL:
https://[YOUR_APP_ENGINE_PROJECT_ID].uc.r.appspot.com
- The React frontend is built and deployed using GitLab CI/CD pipelines.
- Static files are served from GitLab Pages for fast, global access.
- Configured with environment variables for API endpoints.
- Node.js (v16+)
- npm or yarn
- MongoDB Atlas account (or local MongoDB instance)
- Clone the repository:
git clone https://github.com/Venkateshkamat/CampusRent.git cd CampusRent/backend - Install dependencies:
npm install
- Create a
.envfile with your environment variables:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key PORT=3001
- Start the server:
npm start
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
npm install
- Configure the API endpoint in
.env:REACT_APP_API_URL=http://localhost:3001
- Run the development server:
npm start
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/new-feature. - Commit your changes:
git commit -m 'Add new feature'. - Push to the branch:
git push origin feature/new-feature. - Submit a pull request.
This project is licensed under the MIT License. See LICENSE for details.
CampusRent · GitHub Repository