/EDAF75-Project

REST-API that implements a database. EDAF75 Database technology at LTH.

Primary LanguageJava

EDAF75, project report

This is the report for

  • David Jungermann, dic15dju
  • Alfred Hirschfeld, al0015hi-s
  • David Blomberg, da3684bl-s

We solved this project on our own, except for:

  • The Peer-review meeting

ER-design

The model is in the file krusty_uml.png:

Relations

The ER-model above gives the following relations:

  • cookies(cookie_name)
  • pallets(pallet_id, cookie_name, order_nbr, production_date, location, delivery_time, delivery_date, blocked)
  • orders(order_nbr, customer_id, delivery_time)
  • order_sizes(cookie_name, order_nbr, pallet_amount)
  • customers(customer_id, customer_name, address)
  • material(material_name, material_amount, unit, last_delivery_date, last_delivery_amount) ingredients(cookie_name, material_id, ingredient_amount)

Scripts to set up database

The scripts used to set up and populate the database are in:

So, to create and initialize the database, we run:

sqlite3 krusty.sqlite < create-schema.sql
sqlite3 krusty.sqlite < initial.sql

How to compile and run the program

To run the REST-server if you are running Windows:

Either use:

.\gradlew run

Or:

gradlew.bat run

To run the REST-server if you are running a UNIX-system:

./gradlew run

To test the REST-server:

python check-krusty.py

In order to run the program, your computer must be running Java 10+, since we have used some newer features only present in more current releases.