b2f18d77f6b72499b4eea096057c356b1dae19ca
Rentall App
A full-stack marketplace application for renting items, built with React and Node.js.
Features
- User Authentication: Secure JWT-based authentication
- Item Listings: Create, edit, and manage rental items
- Smart Search: Browse and filter available items
- Availability Calendar: Visual calendar for managing item availability
- Rental Requests: Accept or reject rental requests with custom reasons
- Delivery Options: Support for pickup, delivery, and in-place use
- User Profiles: Manage profile information and view rental statistics
- Responsive Design: Mobile-friendly interface with Bootstrap
Tech Stack
Frontend
- React with TypeScript
- React Router for navigation
- Bootstrap for styling
- Axios for API calls
- Google Places API for address autocomplete
Backend
- Node.js with Express
- SQLite database with Sequelize ORM
- JWT for authentication
- Bcrypt for password hashing
Getting Started
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
Installation
- Clone the repository
git clone https://github.com/YOUR_USERNAME/rentall-app.git
cd rentall-app
- Install backend dependencies
cd backend
npm install
- Set up backend environment variables
Create a
.envfile in the backend directory:
JWT_SECRET=your_jwt_secret_here
PORT=5001
- Install frontend dependencies
cd ../frontend
npm install
- Set up frontend environment variables
Create a
.envfile in the frontend directory:
REACT_APP_API_URL=http://localhost:5001
REACT_APP_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
Running the Application
- Start the backend server
cd backend
npm start
- In a new terminal, start the frontend
cd frontend
npm start
The application will be available at http://localhost:3000
Key Features Explained
Item Management
- Create listings with multiple images, pricing options, and delivery methods
- Set availability using an intuitive calendar interface
- Manage rental rules and requirements
Rental Process
- Browse available items with search and filter options
- Select rental dates with calendar interface
- Secure payment information collection
- Real-time rental request notifications
User Dashboard
- View and manage your listings
- Track rental requests and accepted rentals
- Monitor rental statistics
- Update profile information
Contributing
Feel free to submit issues and enhancement requests!
License
This project is open source and available under the MIT License.
Description
Languages
JavaScript
51.5%
TypeScript
39.1%
HTML
9.2%
CSS
0.2%