/service-orders-api

An API created using Spring based on the free course of AlgaWorks

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Service Orders API

This project is a Spring REST API developed based on the free course from AlgaWorks.

The API connects to a MySQL database (DB) and we used Postman as the API client.

🛠 First steps

  • Install Java SDK (JDK 11 >) and set JAVA_HOME environment variable to your system pointing to the SDK path. Note: We developed using Java 14
  • Install Spring Tools based on your prefered IDE.
  • On VSCode
    • Call commands` window by pressing: Ctrl + Shift + P
    • Run "Spring Initializr: Edit starters" to configure initialization scripts
  • Configure a MySQL DB to run locally based on application.properties configuration or edit to configure another MySQL database

⛏ Usage

Once running the application you can choose the contract language by setting the header Accept as - application/json or application/xml

⚖️ Dependencies

All project dependencies are available at pom.xml since this project uses Maven.

🚀 Roadmap

Roadmap for 2020.

  • Create Spring project
  • Add MySQL database connection
  • Add DB migration control using Flyway
  • Divide responsabilities between API and Domain (Business logic)
  • Add ORMs and validations using JPA
  • Create DTOs to avoid exposing unnecessary or sensitive data
  • Enhance ClientController to use DTOs as input and output
  • Add ServiceOrders cancellation
  • Add internacionalization (I18N)