Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Service Marketplace

A modern, scalable, and secure marketplace platform that connects customers with local service providers. Built with Java, Spring Boot, Hibernate, and PostgreSQL, this application enables users to post service requests, discover providers, manage bookings, process payments, and leave reviews.


Overview

Local Service Marketplace is a backend application designed to simplify the process of finding and hiring local professionals for various services such as home repairs, cleaning, plumbing, electrical work, tutoring, delivery services, and more.

The platform provides a robust REST API that allows customers to create service requests while enabling service providers to browse opportunities, accept jobs, and manage their bookings efficiently.


Features

User Management

  • Customer registration and authentication
  • Service provider registration and authentication
  • Role-based access control
  • User profile management

Service Categories

  • Create and manage service categories
  • Organize tasks by category
  • Easy service discovery

Task Management

  • Create service requests
  • Update task details
  • Track task status
  • Assign providers to tasks

Booking System

  • Provider task acceptance
  • Booking creation and management
  • Booking status tracking
  • Service scheduling

Location Management

  • Store customer locations
  • Service area management
  • Location-based service matching

Payment Management

  • Payment record tracking
  • Multiple payment methods
  • Payment status monitoring

Review System

  • Customer reviews and ratings
  • Provider feedback management
  • Reputation tracking

Security

  • Spring Security integration
  • Secure API endpoints
  • Authentication and authorization support

Technology Stack

Backend

  • Java 21
  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • Hibernate ORM
  • Spring Security

Database

  • PostgreSQL

Build Tool

  • Maven

API

  • RESTful Web Services
  • JSON Data Exchange

Architecture

Client Application
       │
       ▼
 REST API Controllers
       │
       ▼
 Service Layer
       │
       ▼
 Repository Layer
       │
       ▼
 Hibernate / JPA
       │
       ▼
 PostgreSQL Database

Project Structure

local-service-marketplace/
│
├── pom.xml
│
├── src/
│   └── main/
│       ├── java/
│       │   └── com/
│       │       └── marketplace/
│       │
│       │           ├── config/
│       │           │   └── SecurityConfig.java
│       │           │
│       │           ├── controller/
│       │           │   ├── TaskController.java
│       │           │   └── BookingController.java
│       │           │
│       │           ├── entity/
│       │           │   ├── User.java
│       │           │   ├── Category.java
│       │           │   ├── Location.java
│       │           │   ├── Task.java
│       │           │   ├── Booking.java
│       │           │   ├── Payment.java
│       │           │   └── Review.java
│       │           │
│       │           ├── repository/
│       │           │   ├── UserRepository.java
│       │           │   ├── TaskRepository.java
│       │           │   └── BookingRepository.java
│       │           │
│       │           ├── service/
│       │           │   ├── TaskService.java
│       │           │   └── BookingService.java
│       │           │
│       │           └── LocalServiceMarketplaceApplication.java
│       │
│       └── resources/
│           └── application.properties
│
└── README.md

Database Design

Main Entities

  • User
  • Category
  • Location
  • Task
  • Booking
  • Payment
  • Review

Entity Relationships

User (Customer)
    │
    ├── Creates
    ▼
   Task
    │
    ├── Belongs To Category
    ├── Has Location
    │
    ▼
 Booking
    │
    ▼
 Payment

User (Provider)
    │
    └── Accepts Booking

Customer
    │
    └── Creates Review
            │
            ▼
        Provider

Installation

Clone Repository

git clone https://github.com/yourusername/local-service-marketplace.git

cd local-service-marketplace

Configure PostgreSQL

Create a database:

CREATE DATABASE local_marketplace;

Update Configuration

Edit:

src/main/resources/application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/local_marketplace
spring.datasource.username=postgres
spring.datasource.password=yourpassword

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

Build Project

mvn clean install

Run Application

mvn spring-boot:run

Application starts on:

http://localhost:8080

API Endpoints

Tasks

Create Task

POST /api/tasks

Get All Tasks

GET /api/tasks

Bookings

Create Booking

POST /api/bookings

Sample Task Request

{
  "title": "Fix Kitchen Sink",
  "description": "Need an experienced plumber",
  "budget": 150.00
}

Future Enhancements

  • JWT Authentication
  • User Registration & Login
  • Provider Availability Scheduling
  • Real-Time Notifications
  • Email Verification
  • Password Reset
  • Payment Gateway Integration
  • Service Provider Search
  • Advanced Filtering
  • Geolocation Support
  • Mobile Application Integration
  • Admin Dashboard
  • Analytics & Reporting
  • Chat System
  • File Uploads
  • Service Images

Development Roadmap

Phase 1

  • Core CRUD Operations
  • User Management
  • Task Management

Phase 2

  • Authentication
  • Authorization
  • JWT Security

Phase 3

  • Payments
  • Notifications
  • Reviews

Phase 4

  • Mobile Integration
  • Real-Time Messaging
  • Advanced Analytics

Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/new-feature
  1. Commit your changes
git commit -m "Add new feature"
  1. Push your branch
git push origin feature/new-feature
  1. Open a Pull Request

License

This project is licensed under the MIT License.


Author

Developed with Java, Spring Boot, Hibernate, and PostgreSQL.

Designed as a scalable marketplace platform for connecting customers and service providers through a secure and modern service ecosystem.

About

A scalable Local Service Marketplace backend built with Java, Spring Boot, Hibernate, and PostgreSQL, enabling customers to post service requests, connect with providers, manage bookings, process payments, and submit reviews through secure RESTful APIs.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages