Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.71 KB

README.md

File metadata and controls

65 lines (47 loc) · 1.71 KB

Contact Management Web API

This project is a Web API for managing contacts within a company. It is built using Spring Boot and provides functionalities for managing both contacts and companies.

Features

  • Contact Management:

    • Create a contact
    • Update a contact
    • Delete a contact
    • Retrieve all contacts
  • Company Management:

    • Create a company
    • Update a company
    • Find a company by its VAT number
    • Retrieve all companies
  • Contact & Company Integration:

    • Assign a contact to a company

Business Constraints

  • A contact must have a first name, last name, and an address.
  • A contact can work for one or more companies.
  • A company must have an address and a VAT number.
  • A contact can be either an employee or a freelancer:
    • Freelancers must have a VAT number.

Technical Requirements

  • RESTful API: The API is synchronous and uses JSON format for communication.
  • Swagger UI: Available for API documentation.
  • JPA: For data persistence.
  • Spring Boot: Core framework for building the API.
  • In-memory Database: This project uses HSQLDB.
  • Simplicity: The project is designed to be as simple as possible.

Getting Started

  1. Clone the repository:
   git clone https://github.com/AlbertDeTerre/ContactManagerWebAPI.git
  1. Navigate to the project repository:
   cd folder/of/cloned/project/ContactManagerWebAPI
  1. Run the app:
  ./mvnw spring-boot:run
  1. Access the Swagger UI page at:
  http://localhost:8080/swagger-ui/index.html
  1. Other informations

This application uses an in-memory HyperSQL database, which will be automatically initialized on startup.