Cross-platform utilities for developers.

Overview

DevWidgets

Flutter Responsive Download

image

DevWidgets is a W.I.P Flutter application with several tools such as generators, formatters and converters for developers.

Clicking here you can try it directly from your browser 🌐 !

Click here to see all features

Converters

  • JSON -> Class
  • JSON <> YAML

Encoders / Decoders

  • HTML
  • URL
  • Base 64 Image
  • Base 64 Text

Formatters

  • JSON
  • SQL
  • XML

Generators

  • Lorem Ipsum
  • UUID

Text

  • Text Diff
  • Escape / Unescape
  • HTML Preview
  • Markdown Preview

Brazilian Utilities

  • CPF Generator
  • CNPJ Generator

Getting Started

Download from Releases

You can download a nightly build for Linux from the latest commit from here.

Building from source

  1. Clone the repo from GitHub
git clone https://github.com/gumbarros/DevWidgets
  1. Install Flutter
  2. Restore the dependencies and build the project
flutter pub get
flutter run

Contributing

Check CONTRIBUTING.MD.


Motivation

I really loved the idea of DevToys, but I was upset that it only runs on Windows. I created this project with the aim of just being a port for Linux, but since it was written in Flutter, I think it's strange to keep it only for that platform.

Why this is not DevToysLinux/Flutter anymore?

First of all, I want to stay away from any copyright issues from the original creators of DevToys as I never had any communication with them.

Second, I believe that the motivations of this project are increasingly different from the original DevToys, mainly because this application is not native exclusively to a platform.

I want along with any community member who wants to contribute, to have total creative control of the project without being limited by the original DevToys. I no longer want this to be a perfect copy of it but a completely different application.


Special Thanks

Code contributors


Comments
  • GH Actions file for Linux Build

    GH Actions file for Linux Build

    Added GH actions workflow file for:

    1. Make linux build on the latest commit
    2. Package it into an AppImage
    3. Publish it in releases section

    on every commit.

    opened by kphanipavan 6
  • Implement Lipsum & UUID

    Implement Lipsum & UUID

    Hi there!

    The original DevToys is a godsend to me, so I'm glad I can contribute to it in some form or another! This is my first time really working on an open source project, so there may be things I'm unaware of, please don't hesitate to mention them.

    Anyways.

    With this PR I have implemented the GeneratorGroup with two new Tools. Although I've never used Getx in a Flutter project before, I've tried to follow the structure and modularity of the repo as well as I could.

    At first, I wanted to split this into two separate PRs but since the tools depend on the generators group to be implemented, I decided to simply commit them separately and combine them into the same PR.

    Lorem Ipsum

    This generator uses the ipsum package I wrote based on the lipsum library for Python.

    It lets you generate a specified amount of

    • words
    • sentences
    • paragraphs

    with some other options.

    image

    Note: I left a TODO for the best implementation of the LipsumGeneratorController lib/presentation/generators/controllers/lipsum_generator_controller.dart

    Since a change to a configuration setting should instantly regenrate the output text, I added listeners to all the actionWidgets. I'm not sure if I can reference the controller Rx<T> fields when calling the regenerate function inside the listener or if its callback value needs to be used for an accurate value (similar to React's useState hook).

    To be safe, I used the callback and added parameters in the generator function. The TODO is simply there so it can be cleaned up on the next commit.

    UUID

    This generator uses the popular UUID package to generate a specified amount of V1 or V4 UUIDs.

    You can enable hyphens and uppercase, just like in the original DevToys.

    image

    Output Toolbar

    I added a new, optional parameter List<Widget> actionButtons to the OutputToolbar widget. It gets passed down through the OutputEditor widget.

    In the original DevToys you generate UUIDs by clicking a button and append them to the output, but there must be a way to clear it again. For future-proof-ness, I added a whole list instead of only the clear button.

    I followed the style guide for Clear buttons from other IO widgets in the repo.

    OutputEditor(
        outputController: controller.outputController,
        actionButtons: [
            ElevatedButton.icon(
                icon: FaIcon(FontAwesomeIcons.xmark),
                label: Text("clear".tr),
                onPressed: () => controller.outputController.clear(),
            ),
        ],
    )
    

    Other

    • The English translations for the Strings I used are provided in the map.
    • I haven't written any test so far since these generators can mostly just be tested for their expected output length, but I will get around to it later if you require it.
    opened by dominic-schmid 4
  • fixed gesture detector area, added feedback on hover

    fixed gesture detector area, added feedback on hover

    Hi!

    I noticed that the margin for the container is inside GestureDetector, which causes teh button to activate even when pressed outside the button area. Changed it by removing the margin and adding padding around the gesture detector.

    I added MouseRegion for the card so the mouse cursor changes to link select icon when hovering on a button. Also added color fade to the button for better visual feedback. Had to change the widget to stateful though, for active color change.

    I am new to Get, is there a way to do the color change in Get without converting the toolcard widget to stateful ?

    Preview:

    https://user-images.githubusercontent.com/60005847/192576399-f45797ea-06dc-4b8a-a755-51d409668854.mp4

    opened by kphanipavan 3
  • Tools Roadmap

    Tools Roadmap

    • Converters
      • JSON <> YAML ✅
      • Timestamp
      • Number Base
      • Cron Parser
    • Encoders / Decoders
      • HTML ✅
      • URL ✅
      • Base64 Text & Image ✅
      • GZip
      • JWT Decoder
    • Formatters
      • JSON ✅
      • SQL ✅ (partially)
      • XML ✅
    • Generators
      • Hash (MD5, SHA1, SHA256, SHA512)
      • UUID 1 and 4 ✅ (thanks @dominic-schmid )
      • Lorem Ipsum ✅ (thanks @dominic-schmid )
      • Checksum
    • Text
      • Escape / Unescape ✅
      • Inspector & Case Converter
      • Regex Tester
      • Text Comparer ✅
      • XML Validator
      • Markdown Preview ✅
    • Graphic
      • Color Blindness Simulator
      • Color Picker & Contrast
      • PNG / JPEG Compressor
      • Image Converter
    enhancement help wanted good first issue 
    opened by gumbarros 2
  • Added German localization

    Added German localization

    I simply added the German translations for all the keys up to this point.

    It may be important to note that this apparently breaks the UI because it causes unhandled overflows. This will have to be fixed in a future step. I'd say the UI responsiveness should be improved in general, since I went to the site on my phone yesterday and couldn't see a thing lol

    opened by dominic-schmid 1
  • Fix assertion error on TextFormField in code_editor_wrapper.dart

    Fix assertion error on TextFormField in code_editor_wrapper.dart

    When opening page with TextFormField set greater than 10 with Wrap Text set to false it will trigger assertion error because maxLines is smaller than minLines. For example go to Text Diff page with Wrap Text set to false in settings.

    opened by qrhfz 0
  • i18n - Tutorial/Roadmap

    i18n - Tutorial/Roadmap

    Currently supported languages

    • English
    • Brazilian Portuguese
    • German

    How to contribute

    1. Copy and paste assets/translations/en-US.yaml (is always updated)
    2. Do your translation
    3. Add your language key to lib/src/supported_locales.dart
    4. Make a PR 🌍
    help wanted good first issue 
    opened by gumbarros 0
  • Implement custom function for the search box

    Implement custom function for the search box

    Currently the searchbox only filter tools by menu name. The best way to search would be adding search tags plus the tool name in the menu and home page.

    enhancement 
    opened by gumbarros 3
  • SQL Formatter

    SQL Formatter

    Add support to SQL dialects and add options like the JSON one. Currently I'm using just a simple generic one. Maybe the best way will be migrating the logic from the Windows one from C# to Dart.

    help wanted 
    opened by gumbarros 0
Releases(latest)
Owner
Gustavo Mauricio de Barros
Software Developer at @JJConsulting. .NET and Flutter enthusiast.
Gustavo Mauricio de Barros
DEVS: Developer Board and Jobs Listing | For Developers, By Developers

devs Setup Currently, this DEVS project is using the master channel of the Flutter SDK. TODO: Migrate to beta Clone the project git clone https://gith

Flutter Philippines Community 40 Apr 16, 2022
A package containing different kinds of services and utilities.

TODO: Put a short description of the package here that helps potential users know whether this package might be useful for them. Features TODO: List w

Daniel 0 Nov 26, 2021
Dart and Flutter sealed class generator and annotations, with match methods and other utilities. There is also super_enum compatible API.

Dart Sealed Class Generator Generate sealed class hierarchy for Dart and Flutter. Features Generate sealed class with abstract super type and data sub

6thSolution 15 Jan 2, 2023
Simple and complete Flutter hooks testing utilities that encourage good testing practices.

Flutter Hooks Testing Library Simple and complete Flutter hooks testing utilities that encourage good testing practices. Inspired by react-hooks-testi

Daichi Furiya 24 Dec 2, 2022
Nebula makes your Flutter development journey easier by providing helper widgets, utilities and abstractions.

Nebula makes your Flutter development journey easier by providing helper widgets, utilities and abstractions.

Aldrin's Art Factory 1 Apr 21, 2022
A set of utilities, themes and components for RTU MIREA applications by Mirea Ninja.

rtu-app-core - это красиво оформленный пакет компонентов графического интерфейса и многоцелевой набор утилит, разработанный для Flutter. rtu-app-core

Mirea Ninja 3 Aug 10, 2022
Flutter Multi-platform allows developers to unleash their app to run on the wide variety of different platforms with little or no change.

Flutter Multi-platform sample Flutter Multi-platform allows developers to unleash their app to run on the wide variety of different platforms with lit

MindInventory 22 Dec 31, 2022
A comprehensive guide on learning how to code cross platform mobile applications with the Flutter framework, from the ground up.

✳️ The Ultimate Guide to App Development with Flutter ✳️ A complete and comprehensive guide to learning Flutter with explanations, screenshots, tips,

Anthony 243 Jan 1, 2023
Cross Platform mobile application built using Flutter for a group project

splitz A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this i

Utkarsh Omer 0 Jul 30, 2022
A cross-platform flutter package to convert your links into rich beautiful previews.

Link Preview Generator A cross-platform flutter package to convert your links into rich beautiful previews. This package is inspired from Any Link Pre

Pranav Bedre 12 Oct 21, 2022
Open-source, cross-platform, hassle-free file sharing with AES-256 encryption made with Flutter & Dart.

Odin ⚡ Open source easy file sharing for everyone. ⚡ Cross-platform hassle-free file sharing with AES-256 encryption made with Flutter & Dart. Getting

Odin 111 Dec 22, 2022
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

Flutter permission_handler plugin The Flutter permission_handler plugin is build following the federated plugin architecture. A detailed explanation o

Baseflow 1.7k Dec 31, 2022
Creating cross-platform solution to help keep individuals connected

Back-to-Hue-Frontend Creating cross-platform solution to help keep individuals connected First Draft: No backend Google Maps API, format into desired

Jeevan Prakash 3 Mar 30, 2022
A cross-platform Flutter home workout app that respects your privacy. THIS IS A GITLAB MIRROR, file issues and contribute there.

Feeel Feeel is an open-source workout app for doing simple at-home exercises. This is a rewrite of the original app in Flutter, to make development ea

null 27 Dec 26, 2022
A cross platform mobile application developed in flutter

A cross platform mobile application ?? developed in flutter to keep track of dai

Melwin Lobo 1 Dec 16, 2021
A cross-platform Flutter widget for displaying websites. Optional navigation buttons.

Overview Gives you a cross-platform Flutter widget for displaying websites and other web content. Licensed under the Apache License 2.0. Links Github

Dint 11 Oct 23, 2022
This repo contains a collection of permission related Flutter plugins which can be used to request permissions to access device resources in a cross-platform way.

Flutter Permission Plugins Deprecation Notice This repository has been replaced by the Flutter permission_handler plugin and will not longer be mainta

Baseflow 51 Dec 13, 2021
A Cross-Platform Wisdom Generator built with Flutter

Wisgen ?? A small Cross-Platform Wisdom Generator, built using Flutter and a combination of external APIs This Wisdom Generator combines random advice

Sebastian Faust 31 Dec 6, 2022
Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.

nfc_in_flutter NFC in Flutter is a plugin for reading and writing NFC tags in Flutter. It works on both Android and iOS with a simple stream interface

Andi Semler 113 Sep 28, 2022