Find-a-Hand is a local online platform designed to connect individuals and businesses in The Gambia with qualified and trustworthy handymen for various services. The platform will provide a directory of handymen, allowing users to search, review, and hire professionals for home repairs, installations, maintenance, and other general services
# Find-A-Hand π οΈ
A comprehensive handyman service booking platform that connects customers with skilled professionals for various home services.
## π Live at
findahand.netlify.app
## π Features
### For Customers
- **Search & Discover**: Find handymen by service type and location
- **Profile Viewing**: Detailed handyman profiles with reviews and ratings
- **Booking System**: Easy booking with date/time selection
- **Review System**: Rate and review handymen after service
- **Dashboard**: Track booking history and manage appointments
- **Real-time Updates**: Live booking status updates
### For Handymen
- **Profile Management**: Complete profile with skills, experience, and portfolio
- **Booking Management**: Accept, reject, or complete bookings
- **Earnings Tracking**: Monitor income and completed jobs
- **Review Management**: View and respond to customer reviews
- **Schedule Management**: Track upcoming appointments
### Technical Features
- **Responsive Design**: Works on desktop, tablet, and mobile
- **Real-time Data**: Dynamic updates without page refresh
- **Secure Authentication**: JWT-based user authentication
- **File Upload**: Profile image upload functionality
- **Search & Filter**: Advanced search with multiple criteria
## Quick Start
### Prerequisites
- Node.js (v14 or higher)
- MongoDB database
- npm or yarn package manager
### Installation
1. **Clone the repository**
```bash
git clone
cd find-a-hand
```
2. **Install dependencies**
```bash
npm install
```
3. **Environment Setup**
Create a `.env` file in the root directory:
```env
MONGO_URI=mongodb://localhost:27017/find-a-hand
JWT_SECRET=your-super-secret-jwt-key
PORT=5000
```
4. **Start the server**
```bash
npm start
```
5. **Access the application**
- Backend API: `
localhost`
- Frontend: Open `frontend/views/index.html` in your browser
## π Project Structure
```
find-a-hand/
βββ backend/
β βββ config/
β β βββ db.js # Database connection
β βββ con β¦