An open API service indexing awesome lists of open source software.

https://github.com/susannnnnna/cpp_patientdatabasecli

Simple CLI application with Google Tests
https://github.com/susannnnnna/cpp_patientdatabasecli

bdd ci-pipeline cli cmake cpp gtest integration-testing powershell regression-testing system-testing tasks-json unit-testing vscode

Last synced: 4 months ago
JSON representation

Simple CLI application with Google Tests

Awesome Lists containing this project

README

          

# Patient Database CLI

## ๐ŸŽฏ Objective
Command Line Interface (CLI) application for managing patient data and storing results in CSV files.

## โœ… Key Features
- Store patient data in a `.csv` file
- Add, view, edit, delete patient records via command line
- Includes unit, integration, system, and regression tests
- Behavior-Driven Development (BDD)
- CI pipeline using PowerShell

## ๐Ÿ“ Project Structure
- `src/` โ€” main application source code
- `tests/` โ€” unit and integration tests
- `data/` โ€” stored `.csv` patient data
- `build/` โ€” compiled artifacts
- `ci-pipeline.ps1` โ€” CI build & run script

## ๐Ÿงช Testing
Detailed structure and description: [`tests/README.md`](./tests/README.md)

## โ–ถ๏ธ How to Run the App

### ๐Ÿ’ป Environment
- Tested on **Windows 11**
- Visual Studio Code + CMake toolchain

### ๐Ÿ› ๏ธ Used Technologies
- C++
- CMake
- GoogleTest
- PowerShell
- JSON (only for vscode tasks)

### ๐Ÿ—‚๏ธ Data Handling
- Patient data stored in `.csv` file
- CLI-based interactions (add/view/edit/delete)

### ๐Ÿš€ Run the App

1. **Clone the repository:**
```bash
git clone https://github.com/Susannnnnna/Cpp_PatientDatabaseCLI
cd Cpp_PatientDatabaseCLI
```
2. Open in VS Code and install recommended extensions
- GitHub Pull Requests and Issues
- CMake Tools
- CMake
- PowerShell

3. Build and run

Press Ctrl + Shift + B in VS Code

Or use terminal:
```bash
mkdir build
cd build
cmake ..
cmake --build . --config Debug
```

4. Run main application
```bash
./src/Debug/PatientDatabaseCLIApp.exe
```

### ๐Ÿ”— Useful Links
- [DDD, Hexagonal, Onion, Clean, CQRS, โ€ฆ How I put it all together](https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/)

## License
[MIT license](https://opensource.org/licenses/MIT)