diff --git a/README.md b/README.md new file mode 100644 index 0000000..6938c2c --- /dev/null +++ b/README.md @@ -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. \ No newline at end of file