lambda
PV project λ (RDBMS)
Requirements
- The solution must have controllable isolation level of transactions and it must showcase the phenomenon of Non-repeatable reads or Phantom reads
- Must use a true relational database or object-relational database
- The database must consist of at least 5 tables including junction tables, 2 views and 1 M:N relation
- 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
, ...)
- Real number (
- Must allow creation, updates, deletion and display of a resource which splits into more tables at database level
- Implement at least one transaction between at least 2 tables
- Ability to generate reports which contains aggregated data from at least 3 tables
- Ability to import data to at least 2 tables in format
CSV
,XML
orJSON
- Configurability via configuration file
- Proper error handling for all edge cases
In addition to these criteria, there are the following extras:
- 1x Documentation
- This document must conform to the Documentation Checklist
- 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
- All test cases are in
Solution
My solution will use the following tech stack:
- Python language
- MySQL for database
- PySide6 for user interface made in Qt
- SqlAlchemy for database management
python-dotenv
for configurability
The problem in question will be demonstrated on a library application
Sources
Description
Languages
Python
100%