File size: 2,816 Bytes
0a161ed
e99cd3c
1df451c
 
 
0a161ed
1df451c
0a161ed
 
 
e99cd3c
1df451c
e99cd3c
1df451c
 
 
 
 
 
 
 
 
 
 
 
 
d8d5eab
 
 
 
1df451c
 
 
 
 
 
 
d8d5eab
 
 
1df451c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d8d5eab
 
 
 
 
1df451c
d8d5eab
1df451c
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
title: LocalLend
emoji: 🏘️
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
---

# LocalLend - Community Item Sharing Platform

LocalLend is a community-driven platform that connects neighbors to share items and build trust within their local community.

## 🌟 Features

- **Item Listing & Browsing**: Browse available items in your community
- **Smart Search & Filters**: Filter by category, condition, and ratings
- **Booking System**: Request to borrow items with date management
- **Rating System**: Rate items and users to build community trust
- **User Profiles**: View user trust scores and borrowing history
- **Secure Authentication**: JWT-based authentication system
- **Image Management**: Upload and manage item images via Cloudinary

## πŸ› οΈ Tech Stack

**Frontend:**
- HTML5, CSS3, JavaScript (Vanilla JS)
- Responsive design with modern CSS

**Backend:**
- Spring Boot 3.5.6
- Java 17
- MongoDB for data persistence
- JWT for authentication
- Cloudinary for image storage

**Deployment:**
- Docker (single JAR deployment)
- Hugging Face Spaces

## πŸš€ Getting Started

This application is automatically deployed from the GitHub repository and runs on Hugging Face Spaces.

### Test Credentials
You can use these test accounts to explore the platform:
- **Username**: `fasd@gmail.com`
- **Password**: `12345678`

## πŸ“ How to Use

1. **Register/Login**: Create an account or login with test credentials
2. **Browse Items**: View available items on the home page
3. **Filter & Search**: Use filters to find specific items
4. **Book Items**: Click on an item to view details and create a booking
5. **Manage Bookings**: View and manage your bookings from the dashboard
6. **Rate & Review**: After completing a booking, rate the item and owner

## πŸ”§ Environment Variables

The following environment variables are configured as Hugging Face Secrets:
- `MONGODB_URI`: MongoDB connection string (MongoDB Atlas)
- `JWT_SECRET`: Secret key for JWT token generation
- `CLOUDINARY_CLOUD_NAME`: Cloudinary cloud name
- `CLOUDINARY_API_KEY`: Cloudinary API key
- `CLOUDINARY_API_SECRET`: Cloudinary API secret

## πŸ“¦ Project Structure

```
locallend/
β”œβ”€β”€ backend/                              # Spring Boot backend
β”‚   β”œβ”€β”€ src/main/resources/static/        # Static HTML/CSS/JS frontend
β”‚   β”‚   β”œβ”€β”€ index.html
β”‚   β”‚   β”œβ”€β”€ styles.css
β”‚   β”‚   └── app.js
β”‚   └── pom.xml
└── Dockerfile.huggingface                # Single-stage Spring Boot deployment
```

## 🀝 Contributing

This project is part of an academic project for Object-Oriented Analysis and Design (OOAD) course.

## πŸ“„ License

This project is for educational purposes.

---

**Deployed on Hugging Face Spaces** | Auto-deployed via GitHub Actions