[main] Added project requirements to README

This commit is contained in:
Thastertyn 2024-12-21 11:18:34 +01:00
parent 74600c4854
commit 88425198ed

View File

@ -1,3 +1,28 @@
# lambda # lambda
PV project λ (RDBMS) PV project λ (RDBMS)
## Requirements
1. The solution must have controllable isolation level of transactions and it must showcase the phenomenon of **Non-repeatable reads** or **Phantom reads**
2. Must use a **true relational database** or **object-relational database**
3. The database must consist of **at least 5 tables including junction tables**, **2 views** and **1 M:N relation**
4. The attributes of tables must **use the following data types at least once**
- Real number (`float`)
- Logical value (`bool`, ...)
- `enum`
- Text string (`varchar`, `text`, ...)
- Date or time (`date`, `timestamp`, ...)
5. Must allow **creation**, **updates**, **deletion** and **display** of a resource **which splits into more tables** at database level
6. Implement at least one **transaction between at least 2 tables**
7. Ability to **generate reports** which contains **aggregated data** from at least **3 tables**
8. Ability to **import data** to at least **2 tables** in format **`CSV`**, **`XML`** or **`JSON`**
9. Configurability via **configuration file**
10. Proper **error handling** for all edge cases
In addition to these criteria, there are the following extras:
1. 1x Documentation
- This document must conform to the **[Documentation Checklist](https://moodle.spsejecna.cz/pluginfile.php/2565/mod_resource/content/2/D.13%20Checklist.pdf)**
2. 3x Test cases
- All test cases are in `PDF` format
- 1 Test case is for running the app including importing database structure
- 2 Test cases are for testing the app itself and all possible errors and edge cases and configurability