https://github.com/ryanlarge13/timer-console
Timer, alarm clock && stopwatch in the terminal
https://github.com/ryanlarge13/timer-console
Last synced: 2 months ago
JSON representation
Timer, alarm clock && stopwatch in the terminal
- Host: GitHub
- URL: https://github.com/ryanlarge13/timer-console
- Owner: RyanLarge13
- License: mit
- Created: 2025-03-17T02:26:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-03T02:20:17.000Z (about 1 year ago)
- Last Synced: 2026-03-29T14:49:20.071Z (3 months ago)
- Language: C++
- Size: 194 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# โฑ๏ธ Timer Console
Handle time with this console based time management application. Set multiple
timers, alrams and start the stopwatch!
C++ for fast, safe and reliable code. Garunteed to work in any Unix based
system and is also compatable on windows systems using powershell.
This is a bare bones project. You are welcome to configure a cmake file or just
simply compile with GCC or clang
## ๐๏ธ Compiling
First make sure clang is installed. If you are on Mac it comes pre installed
[Install Clang](https://clang.llvm.org/get_started.html)
1. Open a terminal
2. cd into directory
```
$ cd Timer-Console/
```
3. Check permissions
```
$ chmod 777 build.sh
```
4. Run build script using bash
```
$ bash build.sh
```
**If you ran into build errors you most likely do not have clang installed or a version of clang that is too outdated for the program. Required clang version 17+.**
## Testing
### ๐งช Types of Testing With Timer Console
Here are the main types of testing relevant to this project and what should be
performed per new feature
In this project we use gtest
**Unit Testing**
Tests individual functions or classes in isolation
Should be fast and run frequently
Example: Testing a Timer::create() method
**System Testing**
Tests the entire application as a whole
Run it. Compile and run it often. Try to break it
**Regression Testing**
Ensures that new changes donโt break old functionality
Run after every change or before pushing new feature
### ๐ ๏ธ General Testing Tips With Timer Console Development
**Test often**: Write tests as you write code (test-driven development)
**Isolate units**: Avoid relying on global state or external systems for unit tests
**Automate**: Add your test scripts in ./build.sh
**Mock dependencies**: For integration testing, mock out parts of your code (e.g., nlohmann)
### Install gtest
When running build.sh gtest should be installed automatically for you and the tests already associated with the application should run. No further configuration should be necessary until new tests are created and need to be added to build.sh
[gtest intstall](https://github.com/google/googletest/blob/main/googletest/README.md)
## ๐ How to use
Check out the docs for developers if you are interested in learning how to use this code or develop further with this project.
These docs where generated by Doxygen.
[Docs](https://legendary-narwhal-a2300f.netlify.app/)