Skip to content

abbasghomi/ModularCalculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModularCalculator

Build Status Contributors License

A modular and extensible calculator application built with .NET 8, leveraging the power of the Managed Extensibility Framework (MEF) to support dynamic plugins for different mathematical operations.

🌟 Features

  • Modular Design: Easily extend the calculator with new operations by adding plugins.
  • Dynamic Plugin Discovery: Automatically discover and load operation plugins at runtime.
  • Tested and Reliable: Comprehensive unit tests ensure the reliability of each component.

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/abbasghomi/ModularCalculator.git
    cd ModularCalculator
  2. Build the solution:

    dotnet build
  3. Run the application:

    dotnet run --project src/CalculatorApp/CalculatorApp.csproj
  4. Run the tests:

    dotnet test

💡 Usage

Once the application is running, you can enter two numbers and choose an operation from the list of available plugins. The result of the operation will be displayed on the console.

🛠️ Contributing

We welcome contributions from the community! Here’s how you can get involved:

  1. Give a Star: ⭐

    • If you find this project useful or interesting, please give it a star! It helps others discover the project and motivates us to keep improving it.
  2. Submit Issues: 🐞

    • Found a bug or have a feature request? Please open an issue to let us know.
  3. Contribute Code: 💻

    • Check out the Contributing Guide to learn how to set up your development environment, create pull requests, and follow our coding standards.
  4. Join the Discussion: 💬

    • Have questions or want to discuss ideas? Start a conversation in our Discussions section.

🧑‍💻 How to Contribute

  1. Fork the repository and create a new branch for your feature or bugfix.
  2. Write tests to cover your changes.
  3. Submit a pull request with a clear description of your changes and how they address the issue.

🔄 Roadmap

Here are some planned features and enhancements:

  • Support for advanced mathematical operations (e.g., trigonometry).
  • GUI version of the calculator.
  • Localization and support for multiple languages.

Feel free to suggest new features or improvements!

📝 License

This project is licensed under the MIT License. See the LICENSE file for details.

🙏 Acknowledgments

  • Thanks to the .NET community for their valuable libraries and resources.
  • Special shout-out to all the contributors who have helped improve this project!

Happy coding! 🎉

Made with ❤️ by Abbas (https://github.com/abbasghomi)

About

A dynamic, plugin-based calculator built with .NET 8, featuring extensible operations through the Managed Extensibility Framework (MEF).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages