Information

The best way to learn coding is by coding. MIA (Multiple Integrated Applications) is a program where I can store useful coding functions I've created in one place for easy accessibility. It is a project I've started to better improve my programming skills and give me something to work on in my free time.


Features

MIA was originally a cross platform terminal program that ran on both Windows and Linux. A newer version was re-created which restructures this into an app-based set of tools. MIA contains various random features. MIA has mnany completed features, but also contains many features in development. Current features included in MIA include but are not limited to the following.

  • Modular Application Framework: A C++20-based framework with a standardized application lifecycle (initialize and run phases), enforced via concepts and templates for type-safe, consistent app development.
  • Layered Dependency Structure: Organized into Core, Utilities, Libraries, and Applications layers to ensure unidirectional dependency flow, promoting modularity and maintainability.
  • Automated Build System: A flexible Bash script (build.sh) that automates building, installing, and managing dependencies with options for clean builds, verbose output, and release generation, primarily supporting Linux with planned expansions for other platforms.
  • CMake Integration: A robust CMake setup for configurable, platform-specific builds with support for system-wide installations and release-specific configurations.
  • Command-Line Option Parsing: A type-safe command-line parsing system supporting boolean, integer, double, and string options, with built-in help and verbose mode handling for consistent user interfaces.
  • Comprehensive Error Handling: A structured error system using the MIAException class and a standardized ErrorCode enumeration for clear, descriptive error reporting across applications.
  • Flexible Configuration System: The MIAConfig class supports multiple configuration formats (e.g., key-value, raw lines) with dynamic file loading, typed accessors, and extensible design for future formats.
  • Centralized Logging Framework: A thread-safe logging system with the Logger class and free functions, supporting customizable log files, verbose output to stdout, and integration with default or user-defined paths.
  • Global Constants and Path Management: Centralized access to version information, configuration, and log file paths with runtime utilities to adapt to installed or repository-based environments.
  • String Encryption: Basic string encryption through a custom algorithm, with advanced file encryption in development.
  • Mathematical Functions: Support for arithmetic operations (add, subtract, multiply) on integers of arbitrary length.
  • Prime Number Generation: Tools for generating prime numbers and ordered prime number lists.
  • Windows Key Code Simulation: Features for simulating key inputs, including automation for tasks in Minecraft and World of Warcraft while AFK.
  • Workout Generation Program: A comprehensive tool for generating workout routines.
  • Ongoing Development: Continuously evolving with new features, enhanced platform support (e.g., macOS, Windows), and additional configuration types in progress.

For a complete list of features you can view the MIA manual at the following link.


Suggestions and Comments

Suggestions for content to add to MIA are more than welcome! If you have a suggestion as to something to include please send it within an email to the email address at the bottom of this page. On occasion typos may exist due to human error but will be corrected when discovered. If you discover a typo, error, or ambiguity, please send a message to the contact email at the bottom of this page.


Download

You can view the MIA source code via the Github repository by clicking the link below!

 


Contact Information

For questions or comments, please message the email listed below. This project took many hours to compile as well as continually takes many hours to keep updated. If you like the program any donations made will go towards improving it! You can support MIA via the support button below.

Email: AWTorode@gmail.com

Phone: 517-512-3580