Skip to content

A lightweight βš™οΈ C++ project that brings the Singleton Design Pattern to life πŸ’‘ β€” acting as the ultimate control center for all your app’s global settings 🌍. One instance, one truth, endless consistency πŸ”’

Notifications You must be signed in to change notification settings

Boitumelo-09/Application-Settings-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βš™οΈ App Settings Manager (C++ Singleton Project)

A lightweight C++ console application that demonstrates the Singleton Design Pattern in action β€” managing all global application settings from a single source of truth.


🎯 Overview

This project simulates how a real application handles global settings through:

  • βœ… A Singleton pattern for centralized configuration.
  • 🎨 Styled console UI with colors, sounds, and animations.
  • πŸ’Ύ Persistent data storage via text-based file parsing.
  • 🧠 Structured program flow through a SettingsRun class.

It’s simple, interactive, and showcases clean C++ OOP design.


🧠 Core Components

File Description
AppSettings.h / .cpp Handles all app settings logic and file parsing.
SettingsRun.h / .cpp Controls the main app flow and user interactions.
utility.h / .cpp Contains styled console utilities, transitions, and effects.
ConsoleFX Modules Add beeps, colors, animations, and banners for style.

πŸ–ΌοΈ Visual Showcase

πŸͺ„ 1. Startup Animation

System Initialization

Description


βš™οΈ 2. Main Menu Showcase

Overview
Description

✏️ 3. Update Flow

Application Flow

Description


🧾 4. Exit Screen

Exiting Application

Description


🧩 Project Structure

AppSettings-Manager/
β”œβ”€β”€ AppSettings.h
β”œβ”€β”€ AppSettings.cpp
β”œβ”€β”€ SettingsRun.h
β”œβ”€β”€ SettingsRun.cpp
β”œβ”€β”€ utility.h
β”œβ”€β”€ utility.cpp
β”œβ”€β”€ ConsoleStyles.h / .cpp
β”œβ”€β”€ ConsoleAnimations.h / .cpp
β”œβ”€β”€ ConsoleSound.h / .cpp
β”œβ”€β”€ ConsoleFX.h / .cpp
└── settings.txt

πŸ’‘ How to Run

# Compile
g++ *.cpp -o AppSettings

# Run
./AppSettings

πŸ’¬ Windows users (Visual Studio):
Just open the solution, build, and run β€” all modules are self-contained.


🧰 Features

  • Singleton Architecture: ensures only one global settings instance.
  • Realistic File Parsing: reads settings.txt dynamically with categories.
  • Animated UI: adds polish with sounds, color, and flow.
  • User Interaction: update, save, and view settings directly in console.
  • Modular Design: easy to expand or convert to GUI later.

🧠 Design Principles

  • Clean Code First: readable structure over complexity.
  • Minimalism: fast and clear transitions.
  • Realism: mirrors real software configuration behavior.
  • Scalability: ready for JSON/INI or GUI integration.

πŸ› οΈ Future Plans

  • Add JSON-based config support (nlohmann/json).
  • Add reset-to-default feature.
  • GUI version using Qt or Dear ImGui.
  • Save last session state automatically.
  • Add undo/redo feature for edits.

πŸ§‘πŸ½β€πŸ’» Author

Boitumelo C. Mkhondo
🎧 Deep House Producer | Future of Deep House | C++ Developer in the Making
πŸ“ University of Limpopo
πŸ–₯️ Passionate about elegant code and visual experiences.



πŸš€ Final Thoughts

This project proves that console apps can have personality.
It’s a showcase of structure, style, and skill β€” built purely in C++.

✨ From Singleton logic to cinematic console flair, this is Belmire’s first step into full-stack and embedded systems greatness.


About

A lightweight βš™οΈ C++ project that brings the Singleton Design Pattern to life πŸ’‘ β€” acting as the ultimate control center for all your app’s global settings 🌍. One instance, one truth, endless consistency πŸ”’

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages