Add README with project documentation
This commit is contained in:
112
README.md
Normal file
112
README.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 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
|
||||
|
||||
1. Clone the repository
|
||||
```bash
|
||||
git clone https://github.com/YOUR_USERNAME/rentall-app.git
|
||||
cd rentall-app
|
||||
```
|
||||
|
||||
2. Install backend dependencies
|
||||
```bash
|
||||
cd backend
|
||||
npm install
|
||||
```
|
||||
|
||||
3. Set up backend environment variables
|
||||
Create a `.env` file in the backend directory:
|
||||
```
|
||||
JWT_SECRET=your_jwt_secret_here
|
||||
PORT=5001
|
||||
```
|
||||
|
||||
4. Install frontend dependencies
|
||||
```bash
|
||||
cd ../frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
5. Set up frontend environment variables
|
||||
Create a `.env` file 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
|
||||
|
||||
1. Start the backend server
|
||||
```bash
|
||||
cd backend
|
||||
npm start
|
||||
```
|
||||
|
||||
2. In a new terminal, start the frontend
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user