From de53251258a383734b0e973099a08977376e0ac9 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:30:51 -0500 Subject: [PATCH 1/8] Removed std::strerror(errno) It wasn't being nice to me --- app/fleet_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/fleet_manager.cpp b/app/fleet_manager.cpp index e40264e..20a4cdb 100644 --- a/app/fleet_manager.cpp +++ b/app/fleet_manager.cpp @@ -108,7 +108,7 @@ int main() { robotFile.close(); std::cout << "Robot information saved to " << csvPathRobot << std::endl; } else { - std::cerr << "Unable to open robot CSV file: " << std::strerror(errno) << std::endl; + std::cerr << "Unable to open robot CSV file: " << csvPathRobot << std::endl; } std::ofstream roomFile(csvPathRoom); @@ -117,7 +117,7 @@ int main() { roomFile.close(); std::cout << "Room information saved to " << csvPathRoom << std::endl; } else { - std::cerr << "Unable to open room CSV file: " << std::strerror(errno) << std::endl; + std::cerr << "Unable to open room CSV file: " << csvPathRoom << std::endl; } return 0; // Exit the while loop and end the program From 8f91620a4856b4c64075744a43d278ef698f6f48 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:31:44 -0500 Subject: [PATCH 2/8] Update the paths of images Removed images folders --- .../activity_diagram.png | Bin .../management_class_diagram.png | Bin .../robot_class_diagram.png | Bin .../room_class_diagram.png | Bin .../adding_sequence_diagram.png | Bin .../cleaning_sequence_diagram.png | Bin .../requesting_status_sequence_diagram.png | Bin 7 files changed, 0 insertions(+), 0 deletions(-) rename docs/design/{images => activity_diagram}/activity_diagram.png (100%) rename docs/design/{images => class_diagrams}/management_class_diagram.png (100%) rename docs/design/{images => class_diagrams}/robot_class_diagram.png (100%) rename docs/design/{images => class_diagrams}/room_class_diagram.png (100%) rename docs/design/{images => sequence_diagrams}/adding_sequence_diagram.png (100%) rename docs/design/{images => sequence_diagrams}/cleaning_sequence_diagram.png (100%) rename docs/design/{images => sequence_diagrams}/requesting_status_sequence_diagram.png (100%) diff --git a/docs/design/images/activity_diagram.png b/docs/design/activity_diagram/activity_diagram.png similarity index 100% rename from docs/design/images/activity_diagram.png rename to docs/design/activity_diagram/activity_diagram.png diff --git a/docs/design/images/management_class_diagram.png b/docs/design/class_diagrams/management_class_diagram.png similarity index 100% rename from docs/design/images/management_class_diagram.png rename to docs/design/class_diagrams/management_class_diagram.png diff --git a/docs/design/images/robot_class_diagram.png b/docs/design/class_diagrams/robot_class_diagram.png similarity index 100% rename from docs/design/images/robot_class_diagram.png rename to docs/design/class_diagrams/robot_class_diagram.png diff --git a/docs/design/images/room_class_diagram.png b/docs/design/class_diagrams/room_class_diagram.png similarity index 100% rename from docs/design/images/room_class_diagram.png rename to docs/design/class_diagrams/room_class_diagram.png diff --git a/docs/design/images/adding_sequence_diagram.png b/docs/design/sequence_diagrams/adding_sequence_diagram.png similarity index 100% rename from docs/design/images/adding_sequence_diagram.png rename to docs/design/sequence_diagrams/adding_sequence_diagram.png diff --git a/docs/design/images/cleaning_sequence_diagram.png b/docs/design/sequence_diagrams/cleaning_sequence_diagram.png similarity index 100% rename from docs/design/images/cleaning_sequence_diagram.png rename to docs/design/sequence_diagrams/cleaning_sequence_diagram.png diff --git a/docs/design/images/requesting_status_sequence_diagram.png b/docs/design/sequence_diagrams/requesting_status_sequence_diagram.png similarity index 100% rename from docs/design/images/requesting_status_sequence_diagram.png rename to docs/design/sequence_diagrams/requesting_status_sequence_diagram.png From e983c850041f761d95f229bb9cd9cefd26214d47 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:32:14 -0500 Subject: [PATCH 3/8] Updated image paths --- docs/design/DESIGN.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/design/DESIGN.md b/docs/design/DESIGN.md index 93f9a85..c8f05a6 100644 --- a/docs/design/DESIGN.md +++ b/docs/design/DESIGN.md @@ -17,7 +17,7 @@ Potential Design Ideas: ## Management Class Diagram Overview -![Diagram Description](images/management_class_diagram.png) +![Diagram Description](class_diagrams/management_class_diagram.png) This document describes the class diagram for a simple management system that involves room cleaning by robots. The system focuses on the attributes of the main class, Management, and mentions its relationships with other classes and interfaces (CommandLine, Robots, Rooms). @@ -56,7 +56,7 @@ Relationships ## Robot Class Diagram Overview -![Diagram Description](images/robot_class_diagram.png) +![Diagram Description](class_diagrams/robot_class_diagram.png) This document describes the class diagram for a system of robots that involves receiving input commands and cleaning rooms. The system focuses on the attributes of the Robot class and mentions its relationships with other classes and interfaces (Management, Rooms). @@ -99,7 +99,7 @@ Relationships ## Room Class Diagram Overview -![Diagram Description](images/room_class_diagram.png) +![Diagram Description](class_diagrams/room_class_diagram.png) This document describes the class diagram for a system of rooms that involves maintaining the cleanliness. The system focuses on the attributes of the Room class and mentions its relationships with other classes and interfaces (Management, Robots, and enum classes Status and Size). @@ -145,7 +145,7 @@ This documentation explains a sequence diagram that outlines the interactions be 4. `Rooms (R)`: Represents the rooms available for cleaning. ## Cleaning Sequence Diagram -![Diagram Description](images/cleaning_sequence_diagram.png) +![Diagram Description](sequence_diagrams/cleaning_sequence_diagram.png) ## Components @@ -191,7 +191,7 @@ This documentation explains a sequence diagram that outlines the interactions be ## Requesting Room and Bot Status Sequence Diagram -![Diagram Description](images/requesting_status_sequence_diagram.png) +![Diagram Description](sequence_diagrams/requesting_status_sequence_diagram.png) - `CommandLine requests room or bot status from management` - `Management` @@ -201,7 +201,7 @@ This documentation explains a sequence diagram that outlines the interactions be ## Adding New Rooms and Bots Sequence Diagram -![Diagram Description](images/adding_sequence_diagram.png) +![Diagram Description](sequence_diagrams/adding_sequence_diagram.png) - `CommandLine requests add new bot/room from management` - `Management` @@ -234,4 +234,4 @@ This documentation explains an activity diagram that outlines the overall activi - Check Robot Status - Check Room Status -![Diagram Description](images/activity_diagram.png) +![Diagram Description](activity_diagram/activity_diagram.png) From 015b5655290fccaf05ab205624098ea856d8af50 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:32:39 -0500 Subject: [PATCH 4/8] Updated docs README to include navigation --- docs/README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/README.md b/docs/README.md index 87e1d00..ab7f7a2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,19 @@ # Welcome to Our Application! -This file is the root of your documentation tree. -You will write all of these in [Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github) and GitHub will render them. +Our docs directory includes: +- `design` - contains the design documentation for our planned or implemented classes in the project. See [DESIGN](docs/design/DESIGN.md) for the detailed explanation of our libraries and interactions between classes. +- `review` - contains our Sprint review documentation files that each describe: + + What we accomplished in a period of 2 weeks + + What was not completed + + What we expect to do for the next Sprint review + + What needs improvement (regarding team collaboration) +- `use_cases` - contains the [use case](use_cases/USE_CASES.md) documentation for our project +- `user-guide` - a document providing a step-by-step [user guide](user-guide/USER_GUIDE.md) for running our fleet management [app](../app/APP.md). +- [Stand Up](docs/STANDUP.md) documentation file that contains our progress made a week before each sprint review. ## Designs and Documentation -Each new piece of your system, such as a library or an app, needs a new directory. -Example: you make a storage backend library, `libstorage` - then its docs folder will be title `libstorage` and hold one or more README files and PlantUML models. -To manage the links among the files, see [this guide](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes#relative-links-and-image-paths-in-readme-files) on README links. \ No newline at end of file +Our designs for this project are categorized based on the type of diagrams: +- [Activity Diagram](design/activity_diagram) - contains the high-level view of class functionality and interactions +- [Class Diagrams](design/class_diagrams) - contains Management, Room, Robot +- [Sequence Diagrams](design/sequence_diagrams) - contains the models of interactions between classes for adding a new robot or room, requesting statuses, cleaning. \ No newline at end of file From 5bdf29d9cd9076efb69f0aec4d6c8bee5f65359e Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:32:54 -0500 Subject: [PATCH 5/8] Provided User Guide --- docs/user-guide/USER_GUIDE.md | 12 +++++++++++- docs/user-guide/build_commands.png | Bin 0 -> 3434 bytes docs/user-guide/program_run.png | Bin 0 -> 8568 bytes docs/user-guide/run_app.png | Bin 0 -> 3385 bytes 4 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/user-guide/build_commands.png create mode 100644 docs/user-guide/program_run.png create mode 100644 docs/user-guide/run_app.png diff --git a/docs/user-guide/USER_GUIDE.md b/docs/user-guide/USER_GUIDE.md index 389e382..7b3ceb9 100644 --- a/docs/user-guide/USER_GUIDE.md +++ b/docs/user-guide/USER_GUIDE.md @@ -1,3 +1,13 @@ # This is your user guide's top level! -Tell those users what to do! \ No newline at end of file +To access the our fleet management system, open your desired command terminal and navigate to our project which is called `course-project-krykna` and enter the following sequence of commands to create an executable for our app, as well as other features such as our test executables: + +![Build commands](build_commands.png) + +Once the build is completed, you should be able to navigate (change directory) to the app directory which should contain our app executable which is called `fleet_manager`: +![Run fleet manager app](run_app.png) + +After running these two commands, the terminal should now display this: +![program run](program_run.png) + +And this concludes our user guide for running the robot fleet management app. Have fun! \ No newline at end of file diff --git a/docs/user-guide/build_commands.png b/docs/user-guide/build_commands.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5710080d8805e4263c150e5cdc9b721eed0795 GIT binary patch literal 3434 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 F{{z%=U?6vn|hQ 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 Jjhb!re*oXNvdjPg literal 0 HcmV?d00001 From 06aaf85bf5a81a19500ba6db77eb1f69621501e7 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:43:32 -0500 Subject: [PATCH 6/8] Updated tests folder --- tests/TESTS.md | 4 ++-- tests/next_test.cpp | 9 --------- 2 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 tests/next_test.cpp diff --git a/tests/TESTS.md b/tests/TESTS.md index efc340c..8d8fa1d 100644 --- a/tests/TESTS.md +++ b/tests/TESTS.md @@ -1,4 +1,4 @@ # Project tests -You will use [Catch2](https://github.com/catchorg/Catch2/blob/devel/docs/tutorial.md#top) to develop all unit tests for this project. -Here is their tutorial! \ No newline at end of file +Our tests are implemented using the [Catch2](https://github.com/catchorg/Catch2/blob/devel/docs/tutorial.md#top) to develop all unit tests for our project. +We have test files for robot, room, and management classes. \ No newline at end of file diff --git a/tests/next_test.cpp b/tests/next_test.cpp deleted file mode 100644 index 23eb33c..0000000 --- a/tests/next_test.cpp +++ /dev/null @@ -1,9 +0,0 @@ -//PlaceHolder for TDD implementation. - -/** - * TODO: Test Cases that require implementations - * CLEANING_TIMER():- accessed by Manager Action Class: relies on Room and Robot classes - * -> REQUIRES: [room |-> inline int get_estimated_clean_time() const {return this->estimated_time_;}] - * [robot |-> inline Robot_Size get_robot_size() const {return this->size_;}] -*/ -// TEST_CASE("Integration: Cleaning Time - Management, Room, Robot interaction") {} \ No newline at end of file From 5c2194a22a5b054e12373176d3eeecbef7a2975d Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:44:01 -0500 Subject: [PATCH 7/8] Revised our README documentation --- app/APP.md | 9 +++++---- include/INCLUDE.md | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/APP.md b/app/APP.md index 7757811..acd53e5 100644 --- a/app/APP.md +++ b/app/APP.md @@ -1,8 +1,9 @@ # Applications The robot fleet management system will be a high level application. -It will need to communicate with a simulator and a back end storage system. -Any other apps you require may be included in here. -By convention, these applications use the libaries you create. -So maybe you have a library of robots, then the application should include the header for it like `say_hello` does with `libhello`. \ No newline at end of file +Our fleet management app is a command line interface (CLI) that uses/communicates with only the `manage` library, which itself communicates with Room and Robot libraries. + +When running our app, the user should see this (after successfully building the project): + +![CLI view](../docs/user-guide/program_run.png) \ No newline at end of file diff --git a/include/INCLUDE.md b/include/INCLUDE.md index 615274c..dff4fd8 100644 --- a/include/INCLUDE.md +++ b/include/INCLUDE.md @@ -1,7 +1,8 @@ # Libraries -For this project, the library convention will be that each supporting library will live within its own subfolder. -Right now, there is one `libhello` library. -If you need to make a support library for the simulator, it might be `libsim`. -Header only libraries are fine. -To see the advantages and disadvantages, take a look at [this SO discussion](https://stackoverflow.com/questions/12671383/benefits-of-header-only-libraries). \ No newline at end of file +Our supporting libraries live within their own subfolders: +- `manage` - contains the header file/library for Management implementation file +- `libroom` - contains the header file/library for room implementation file +- `libRobot` - contains the header file/library for Robot implementation file + +We also added a header only file for [Catch2](https://github.com/catchorg/Catch2/blob/devel/docs/tutorial.md#top) testing \ No newline at end of file From 793a8d693e390af90e35350aac1c9077b9bcf4f4 Mon Sep 17 00:00:00 2001 From: KathrynMew Date: Thu, 14 Dec 2023 13:55:23 -0500 Subject: [PATCH 8/8] Updated the include and src READMEs --- include/INCLUDE.md | 2 ++ src/SRC.md | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/INCLUDE.md b/include/INCLUDE.md index dff4fd8..e8b1137 100644 --- a/include/INCLUDE.md +++ b/include/INCLUDE.md @@ -5,4 +5,6 @@ Our supporting libraries live within their own subfolders: - `libroom` - contains the header file/library for room implementation file - `libRobot` - contains the header file/library for Robot implementation file +The corresponding implementation files can be found in the [src](src\SRC.md) directory. + We also added a header only file for [Catch2](https://github.com/catchorg/Catch2/blob/devel/docs/tutorial.md#top) testing \ No newline at end of file diff --git a/src/SRC.md b/src/SRC.md index e33664a..a6b843b 100644 --- a/src/SRC.md +++ b/src/SRC.md @@ -1,3 +1,5 @@ # Libraries - Source -You may optionally implement your libraries as cpp files in here. -See the `include` readme for more discussion. \ No newline at end of file +This src directory contains the implementations of our supporting libraries: +- `manage` - Management.cpp +- `libroom` - Robot.cpp +- `libRobot` - room.cpp \ No newline at end of file