Skip to content

rodrigcasio/DepartmentalDashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Departmental Dashboard (C++)

This is a small C++ project I made to practice object-oriented programming (OOP) concepts like classes, inheritance, and polymorphism. The program simulates a simple company dashboard with different teams (like Sales, Engineering, HR, etc.).

While this is a small-scale project, I focused on modeling a departmental dashboard as it might be used in an actual organization, managing teams across Marketing, Sales, Engineering, Human Resources, and Communications. The implementation showcases practical features such as team management, inter-department communication, and detailed team reporting, reflecting how these OOP concepts can be applied to real business scenarios.

  • Creates teams for different departments (Sales, Engineering, HR, Communications, Marketing) using classes and inheritance.
  • Lets you add members, set budgets, and update locations for each team.
  • Shows how polymorphism works by letting teams communicate with each other using shared methods.
  • Prints out information about each team, their members, and their budgets.
  • Demonstrates namespaces by organizing code for each department.

Example Output

When you run the program, you’ll see output like this:

Sales Team Name: Stellar Corp-Sales
Location: London
Members: Pratik, Emily, Clive .
---
Engineering Team Name: Stellar Corp-Engineering
Location: Guadalajara
Budget: $900000
Team Members: Rodrigo, Luis, Alberto .
---
Human Resources Team Name: Stellar Corp-HR
Location: New Mexico
Budget: $50000
Members: Jonas, Sally, Penny .
---
Communications Team Name: Stellar Corp-Communications
Location: Chicago
Budget: $60000
Members: Paul, Stephen, Katy .

And for communication between teams:

New message from: Stellar Corp-Marketing
To: Stellar Corp-Engineering
Message: "We need information about your upcoming project ASAP"
---
New message from: Stellar Corp-Engineering
To: Stellar Corp-HR
Message: "We need orientation for a new intern. Starting next week"
---
New message from: Stellar Corp-Communications
To: Stellar Corp-Sales
Message: "Need update of the current sales of the month, please."

Why did I make this?

I wanted to get better at using classes, inheritance, and namespaces in C++. This project helped me understand how to organize code for different parts of a program and how to use polymorphism for shared actions.

How to Run

This project uses CMake build system generator for easy, cross-platform compilation. Follow these steps from the root directory of the project DepartmentalDashboard/

  1. Ensure CMake is installed:
  • Make sure you have CMake (version 3.1- or higher please) and a C++ compiler (g++ or clang++) installed on your system.
  1. Generate the build system (configure):
  • Create a separated directory for the build files and run CMake inside it. Keeping source files clean
mkdir build
cd build
cmake ..
  1. Build:
  • Use generated build system (make on Unix-like systems) to compile the executable.
make
  1. Run the program:
  • The executable (DepartmentalDashboard) will be placed inside the build directory.
./DepartmentalDashboard

IMPORTANT: Note for windows users:

  • Windows developers have two ways to build the project using CMake.
    • Command line (MSYS2/Cygwin): If you use an environment like MSYS2 or WLS (Windows Subsystem for Linux), you can follow the Standard Build steps above exactly.
    • Visual Studio: CMake can generate a Visual Studio solution. Run CMake from your developer command prompt, specify the generator:
cmake .. -G "Visual Studio 17 2022"

Then, open the generated .sln file and build within Visual Studio IDE.

Author

Rodrigo Casio
My GitHub Profile

About

The implementation showcases practical features such as team management, inter-department communication, and detailed team reporting, reflecting how these OOP concepts can be applied to real business scenarios.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors