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)
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!
- 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.
- 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
- Access the application in your web browser at
http://localhost:8000
. - Create account by clicking 'Register'
- Use UpdateVehicleData button in welcome page to fetch newest list of vehicles from external API
- 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.
- Now you can use all
This project is licensed under the MIT License.