Skip to content

Latest commit

 

History

History
107 lines (84 loc) · 3.19 KB

File metadata and controls

107 lines (84 loc) · 3.19 KB

FEMA

FEMA is a multi-language software project primarily focused on Dart, with significant components in C++, CMake, Swift, C, and HTML. The project aims to provide a flexible and robust solution for cross-platform application development, leveraging the strengths of each language to deliver high-performance and maintainable code.

Language Composition

  • Dart (60.5%)
    Main application logic, UI, and cross-platform features.
  • C++ (19.7%)
    Performance-critical modules and native integrations.
  • CMake (16.1%)
    Build system and dependency management for C++/C components.
  • Swift (1.4%)
    iOS-specific functionalities and platform integration.
  • C (1.2%)
    Low-level routines and system interfaces.
  • HTML (1%)
    Web-based UI components or documentation.
  • Other (0.1%)
    Miscellaneous scripts or files.

Features

  • Cross-platform support: Designed to run on multiple operating systems including desktop and mobile.
  • Modular architecture: Easily extend or modify core functionality.
  • Performance optimization: Critical components implemented in C++ and C for speed, with Dart handling high-level logic.
  • Modern build system: Uses CMake for efficient compilation and dependency tracking.
  • Native integrations: Swift code for seamless iOS support.

Getting Started

Prerequisites

Building the Project

  1. Clone the repository:

    git clone https://github.com/ginio15/FEMA.git
    cd FEMA
  2. Install dependencies:

    • Dart dependencies:
      dart pub get
    • C++/C dependencies:
      Use CMake to configure and build:
      mkdir build && cd build
      cmake ..
      make
  3. Run the application:

    • Dart:
      dart run
    • Native (after building with CMake):
      ./bin/FEMA

Platform-specific Instructions

  • iOS:
    Open the Swift project in Xcode and build/run on a simulator or device.
  • Web:
    Serve the HTML files using your preferred web server.

Folder Structure

FEMA/
├── dart/         # Dart source code
├── cpp/          # C++ source code
├── cmake/        # CMake build scripts
├── swift/        # Swift code for iOS
├── c/            # C source files
├── html/         # HTML resources
└── README.md     # Project documentation

Contributing

Contributions are welcome! Please open issues or submit pull requests for any improvements or bug fixes.

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

License

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

Contact

For questions or support, open an issue or contact ginio15.