CrimsonCare is a C project designed to provide a robust solution for blood management. This project is configured to support both Debug and Release builds.
- University: East West University
- Course: CSE207 - Data Structures
- Instructor: Dr. Hasan Mahmood Aminul Islam (DHMAI)
- Teaching Assistant: Abdullah Al Tamim
|-- .editorconfig
|-- .gitignore
|-- CrimsonCare.cbp
|-- CrimsonCare.layout
|-- CrimsonCare.workspace
|-- Doxyfile
|-- LICENSE.md
|-- main.c
|-- Makefile
|-- README.md
|-- include
|-- admin_manager.h
|-- blood_manager.h
|-- hospital_manager.h
|-- misc.h
|-- transaction_manager.h
|-- src
|-- admin_manager.c
|-- blood_manager.c
|-- hospital_manager.c
|-- misc.c
|-- transaction_manager.c
|-- docs
|-- report
|-- crimson-care-project-report.tex
|-- docs
|-- latex
|-- resources
|-- db
|-- assets
|-- images
|-- misc
|-- cc.txt
-
GCC Compiler
Description: The GNU Compiler Collection (GCC) is a standard compiler for C and C++.
Installation:
-
Windows
MinGW Installation:
- Download the MinGW installer from the MinGW-w64 project.
- Choose the appropriate version for your system (32-bit or 64-bit).
- Run the installer.
- Once installed, add the MinGW
bin
directory to your system PATH.. - Verify the installation by opening Command Prompt and running:
You should see the version of GCC installed.
gcc --version
-
Linux
Ubuntu/Debian:
sudo apt update sudo apt install build-essential
Fedora:
sudo dnf groupinstall "Development Tools"
-
macOS
macOS: Install Xcode Command Line Tools:
xcode-select --install
-
-
Git
- Description: A version control system to manage source code.
- Installation: Download and install Git from the official Git website. Follow the installation instructions for your operating system.
-
Code::Blocks IDE (Optional)
- Description: An open-source Integrated Development Environment (IDE) for C/C++ programming.
- Installation: If you prefer using an IDE, download and install Code::Blocks from the official website. Choose the version that includes the MinGW compiler (typically labeled as "codeblocks-XX.XXmingw-setup.exe").
-
Clone the repository:
git clone https://github.com/mrasadatik/crimson-care.git cd crimson-care-main
-
Open the project in Code::Blocks:
- Open Code::Blocks IDE.
- Go to
File
->Open...
and selectCrimsonCare.cbp
.
-
Build the project:
- Select the desired build target (Debug or Release).
- Click on the
Build
button or pressF9
.
To build both Debug and Release versions, run:
make
More options
To build only the Debug version, run:
make debug
To build only the Release version, run:
make release
To build both Debug and Release versions, run:
mingw32-make
More options
To build only the Debug version, run:
mingw32-make debug
To build only the Release version, run:
mingw32-make release
To build the project in Debug mode, run the following command:
mkdir -p bin/Debug && gcc -Wall -Wextra -g3 -Iinclude main.c src/*.c -o bin/Debug/CrimsonCare
To build the project in Release mode, run the following command:
mkdir -p bin/Release && gcc -Wall -Wextra -O3 -Iinclude main.c src/*.c -o bin/Release/CrimsonCare
To build the project in Debug mode, run the following command:
mkdir -p bin/Debug && gcc -Wall -Wextra -g3 -mconsole -Iinclude main.c src/*.c -o bin/Debug/CrimsonCare.exe
To build the project in Release mode, run the following command:
mkdir -p bin/Release && gcc -Wall -Wextra -O3 -mconsole -Iinclude main.c src/*.c -o bin/Release/CrimsonCare.exe
To run the application, execute the compiled binary located in the bin/Debug/
or bin/Release/
directory, depending on the build configuration you chose.
Example:
On Linux/Mac
-
Debug Build:
./bin/Debug/CrimsonCare
-
Release Build:
./bin/Release/CrimsonCare
On Windows
-
Debug Build:
bin\Debug\CrimsonCare.exe
-
Release Build:
bin\Release\CrimsonCare.exe
- Maysha Taskin Iqra (2023-1-60-152)
- Sabiha Akter Chaity (2023-2-60-057)
- Sumyya Tabassum (2023-3-60-351)
- Arnab Saha (2021-3-60-201)
- Md Shahoriyer Nadim (2023-3-60-189)
- Md Asaduzzaman Atik (2023-1-60-130)
This project is licensed under the MIT License - see the LICENSE file for details.
- Code::Blocks - The IDE used for this project.
- Doxygen - The documentation generator used for this project.
- Git - The version control system used for this project.
- GitHub - The platform used to host the repository.
- Conventional Commits - The specification used for commit messages.
- LaTeX (MikTeX) - The LaTeX distribution used to generate the report.
- Stack Overflow Question: how to show enter password in the form of Asterisks(*) on terminal
- Stack Overflow Question: How to display asterisk for input password in C++ using CLion
- Dev.to Post - How to take hidden password from terminal in C/C++
- Report Writing Inspiration: