![Screenshot 2024-03-24 at 15 50 21](https://private-user-images.githubusercontent.com/619465/316293244-699e7105-9344-42a7-9d08-9e72b3a3a8f2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MjcxMDQsIm5iZiI6MTcxOTUyNjgwNCwicGF0aCI6Ii82MTk0NjUvMzE2MjkzMjQ0LTY5OWU3MTA1LTkzNDQtNDJhNy05ZDA4LTllNzJiM2EzYThmMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QyMjIwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNzhmYTRiMzFkNDlkNTFmZjQ4NTMzZGE3OGZjMTY0NjFmNTE1ZmM1MjczMTU0ZmQzMDYwZjQ0ZWQzNjViMTYyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.vmmaa3UDfNCVFaj2tasT4N9p8NVdEbBUPgq-ddfbSGk)
- Basic commands such as
SET
,GET
,DELETE
andCOUNT
. - Transactional commands, such as
BEGIN
,COMMIT
andROLLBACK
. - Support nested transactions and rollback.
- Show alerts before executing critical command.
- Extendable interfaces.
- No dependency to any 3rd-party lib.
- CLI interface for input and output.
- Unit tests.
- Integration tests.
Method 1: Hit the run button on the main
function in IntelliJ IDEA
![Screenshot 2024-03-24 at 15 43 55](https://private-user-images.githubusercontent.com/619465/316292888-3a719dd5-361d-4970-bed2-bf9c8da15874.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MjcxMDQsIm5iZiI6MTcxOTUyNjgwNCwicGF0aCI6Ii82MTk0NjUvMzE2MjkyODg4LTNhNzE5ZGQ1LTM2MWQtNDk3MC1iZWQyLWJmOWM4ZGExNTg3NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QyMjIwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NGEyMDc0MzZkYjY3NWNlYmMxZjMwZGFkMzljY2JhNWE0Y2VjOWQ2OGUyNTk0ODZiOGZhYjllODlkYjg2Y2E2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.SKIsQ8-TaV8-gztKiAeaY89EBVAyAMjNmmZBafIB1GI)
Method 2: Run on the terminal
Build the project
./gradlew build
Execute the runApp shell script
./runApp.sh
![Screenshot 2024-03-24 at 15 47 58](https://private-user-images.githubusercontent.com/619465/316293112-8d4c6c40-2c6c-4c00-be1e-cfdfce15cac8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MjcxMDQsIm5iZiI6MTcxOTUyNjgwNCwicGF0aCI6Ii82MTk0NjUvMzE2MjkzMTEyLThkNGM2YzQwLTJjNmMtNGMwMC1iZTFlLWNmZGZjZTE1Y2FjOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QyMjIwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NDc5NjFjOWVjNjkwOTMxN2MzZTdlYmMwMTE4MzQ2YWQwNDI5NzRmODA3ZjAzNjQ0OGVmNDJmNmQ3MTFjMDNjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ftRM9ZJqpe48JdTQ7mKySwtt_M2xh9ijSn4B3HqpmFk)