Skip to content

ginio15/FEMA

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published