Skip to content

Latest commit

 

History

History
83 lines (65 loc) · 3.29 KB

README.md

File metadata and controls

83 lines (65 loc) · 3.29 KB

Vehicle Data Application

This application allows you to fetch data from government sources via the Fuel Economy API. Using this API, you can retrieve information such as the make, model, year of manufacture, and engine specifications of all available cars.

Application uses SpringMVC, Thymeleaf, JavaScript, SpringSecurity, Hibernate, Spring Data, Jackson, MySQL, Docker, Spring Boot, Spring Data, Java Peristance API (JPA)

Instalation

Firstable you need to set database parametrs dockercompose.yaml

  mysql:
    container_name: mysql
    image: mysql:8.0
    environment:
      - MYSQL_USER=MYSQLUSERNAME
      - MYSQL_PASSWORD=MYSQLPASSWORD
      - MYSQL_DATABASE=vehicle
      - MYSQL_ROOT_PASSWORD=MYSQLROOTPASSWORD

  vehicle-app:
    build: .
    container_name: vehicle-app
    ports:
      - "8080:8080"
    environment:
      - MYSQL_HOST=mysql
      - MYSQL_USERNAME=MYSQLUSERNAME
      - MYSQL_PASSWORD=MYSQLPASSWORD
      - MYSQL_DATABASE=vehicle
      - MYSQL_PORT=3306

You need to be in application catalog!

  • mvn clean install
  • docker-compose up --build
  • !! Now you need to restart containters!!
  • docker-compose down
  • docker-compose up --build
  • Your application is ready for use!

Features

  • Retrieve vehicle data including make, model, year, and engine specifications from the Fuel Economy API and information about fuel consumption of this vehicles.
  • Make an CRUD operations on your vehicles
  • Store vehicle data in a database.
  • User-friendly interface to manage your vehicle data.

TODO

  • Update vehicle table only for admin with button on main page | Button is added but it's needed to make a permissions for admin
  • Maintenance interface
  • Privileges based on user role
  • Loading bar for updating vehicles

Usage

  1. Access the application in your web browser at http://localhost:8000.
  2. Create account by clicking 'Register'
  3. Use UpdateVehicleData button in welcome page to fetch newest list of vehicles from external API
  4. Keep an instruction in fetch vehicles page, you need to wait for fetching all vehicles. You can watch progress in console. It's recommended to make an vehicle update one/two times per year.
  5. Now you can use all
Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10

License

This project is licensed under the MIT License.