Skip to content

vertigovarbende/spring-practice-estate-agent-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Estate Agent Management System

A RESTful API application for managing real estate properties, estate agents, customers, and property transactions.

Technologies

  • Java 21
  • Spring Boot 3.5.9
  • PostgreSQL - Database
  • Spring Security - Authentication & Authorization
  • JWT - Token-based authentication
  • Spring Data JPA - Data persistence
  • HATEOAS - Hypermedia-driven API
  • MapStruct - Object mapping
  • Flyway - Database migrations
  • OpenAPI/Swagger - API documentation
  • Lombok - Boilerplate code reduction

API Documentation

Once the application is running, access the Swagger UI at:

  • Swagger UI: http://localhost:8080/swagger-ui/index.html
  • OpenAPI JSON: http://localhost:8080/v3/api-docs

API Endpoints

Authentication

  • POST /api/auth/register - Register a new user
  • POST /api/auth/login - User login
  • POST /api/auth/refresh - Refresh access token

Properties

  • GET /api/properties - List all properties (requires USER role)
  • GET /api/properties/{id} - Get property by ID (requires USER role)
  • POST /api/properties - Create new property (requires AGENT role)
  • PUT /api/properties/{id} - Update property (requires AGENT role)
  • DELETE /api/properties/{id} - Delete property (requires AGENT role)

Estate Agents

  • GET /api/agent - List all estate agents
  • GET /api/agent/{id} - Get estate agent by ID
  • GET /api/agent/{id}/properties - Get properties by estate agent

Customers

  • POST /api/customer/buy - Purchase a property

Currency

  • GET /api/currency/rate?startDate={date}&endDate={date} - Get currency rates

Project Structure

src/main/java/com/deveyk/estateagent/
├── auth/          # Authentication and security
├── property/      # Property management
├── agent/         # Estate agent management
├── customer/      # Customer operations
├── currency/      # Currency service
└── common/        # Shared utilities and models

About

RESTful Estate Agent Management System built with Spring Boot for practice purposes only.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages