An open API service indexing awesome lists of open source software.

https://github.com/ilhamghaza/lockflare


https://github.com/ilhamghaza/lockflare

cryptography flutter flutter-app gunadarma

Last synced: 6 months ago
JSON representation

Awesome Lists containing this project

README

          

# LockFlare


Buy Me A Coffee

LockFlare is a Flutter application designed to implement and demonstrate various cryptographic algorithms and techniques. This project aims to educate users about different encryption methods by providing practical implementations within a mobile application.

## Table of Contents

- [LockFlare](#LockFlare)
- [Table of Contents](#table-of-contents)
- [Project Structure](#project-structure)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)
- [Contact](#contact)

## Project Structure

The project is organized into several directories and files to maintain modularity and clarity:

```
lib/
├── config/
│ ├── localization/
│ │ ├── app_translations.dart
│ │ └── language_controller.dart
│ └── theme/
│ ├── theme_controller.dart
│ └── theme.dart
├── data/
│ ├── blocking_subtitotion.dart
│ ├── decryption_hc2.dart
│ ├── decryption_hc3.dart
│ ├── github_service.dart
│ ├── hill_chipper2.dart
│ ├── hill_chipper3.dart
│ ├── permutation_compaction.dart
│ ├── substitution_compaction.dart
│ └── subtitution_permutation.dart
├── presentation/
│ ├── home_page.dart
│ └── profile_page.dart
├── main_page.dart
└── main.dart
```

- **lib/config/localization/**: Houses GetX translation maps and the `LanguageController`, enabling runtime language switching and persistence.

- **lib/config/theme/**: Contains GetX theme configuration, including `theme_controller.dart` for reactive theme management and `theme.dart` for Material theme data.

- **lib/data/**: Houses the implementations of various cryptographic algorithms, each encapsulated in its respective Dart file, facilitating easy maintenance and scalability.

## Getting Started

### Prerequisites

Before running the application, ensure that the following tools are installed on your system:

- Flutter SDK (latest stable version)
- Dart SDK
- An integrated development environment (IDE) such as Android Studio or Visual Studio Code with Flutter extensions

### Installation

1. **Clone the repository**:

```bash
git clone https://github.com/IlhamGhaza/LockFlare.git
```

2. **Navigate to the project directory**:

```bash
cd LockFlare
```

3. **Install dependencies**:

```bash
flutter pub get
```

4. **Run the application**:

```bash
flutter run
```

## Usage

Upon launching the application, users can navigate through different sections, each dedicated to a specific cryptographic algorithm. Interactive interfaces allow users to input data, apply encryption techniques, and observe the results, thereby enhancing their understanding of cryptographic processes.

### Theme & Localization

- Toggle between light and dark themes via the profile page. The preference is persisted using GetStorage.
- Switch between English (`en`) and Indonesian (`id`) at runtime using the language selector on the profile page. All texts use GetX `.tr` keys, ensuring instant localization.

## Contributing

Contributions to enhance the application's functionality or to introduce new cryptographic algorithms are welcome. To contribute:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Implement your changes and ensure they are well-documented.
4. Submit a pull request with a detailed description of your modifications.

## License

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Acknowledgements

- The Flutter team for providing an excellent framework that simplifies cross-platform development.
- Contributors to the open-source cryptography libraries utilized within this project.

## Contact

For further information or inquiries, please contact:

- **Name**: Ilham Ghaza
- **Email**: [email](mailto:cb7ezeur@selenakuyang.anonaddy.com).