Skip to content

FLINT JSON User Interface: Helps to create and edit JSON files in an interactive way!

License

Notifications You must be signed in to change notification settings

moja-global/FLINT.JSON_Interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLINT JSON Editor

All Contributors

The FLINT JSON Editor is a platform-independent desktop app built on Electron, React and Webpack. It is mainly used to create projects from pre-defined packages/set of JSON files. It can be used to create a CFG file by choosing a set of JSON files, or to open a project or set of JSON files either in a scratch based JSON editor or in a form-based editor. It is then used to power FLINT and its models.

Key Features

  • Users can choose a specific type of project and the application would create a set of JSON templates, which can then be easily edited by users. FLINT uses JSON files for a particular type of project like Standard GCBM Project, GCBM + Peatland Project and more, thus easing the process for users.
  • Users can choose the files for a project and choose to create a CFG file that points to the JSON files which are used for a particular project. It is aided by a transfer-list implementation where a CFG file can be created along with the corresponding JSON files.
  • With the Open Project feature, Users won't need to select JSON files multiple times. We can now open a project which consists of multiple JSON files at one go and the users will also have the flexibility to remove JSON files from the dashboard before launching the editor.
  • A ScratchJSONEditor and Form-like Editors has been built from scratch to create/edit JSON files.
  • From a UI/UX perspective, a drag-and-drop feature has been added to drag a tab from one position to another.. The directory of the currently opened file is also shown at the title bar of the application.

Have a look at the Wiki Section of the Project to get a deep dive into the whole project and understand it from a user perspective.

Development Setup

Before setting up the local dependenices, make sure that the latest version of NodeJS, NPM and Yarn are installed. Follow the below mentioned steps to get started:

  1. Clone the repository and enter into the directory:
    git clone https://github.com/moja-global/FLINT-JSON-Interface
    cd FLINT-JSON-Interface/FLINT_JSON_Editor
    
  2. Install the dependenices:
    npm install
    
  3. Start the Project:
    npm start
    

Installation

The app is built on ElectronJS which explains that the application is meant to be platform independent. The v1 release can be found on the GitHub Releases.

Reporting Issues

Have a look at the below steps to get started with reporting bugs as a user or developer:

  1. Navigate to the main page of the repository where you found the bug.
  2. Under the repository name, click Issues.
  3. Click the green New Issue button
  4. Click the green button Get Started in the Bug Report box.
  5. Use a clear and descriptive title.
  6. Follow the template and provide as much information as possible.
  7. Add ways through which the bug can be reproduced by the maintainer.
  8. Attach files, screenshots and/or animated GIFs.
  9. Click the green button Submit New Issue at the bottom right corner.

How to Get Involved?

moja global welcomes a wide range of contributions as explained in Contributing document and in the About moja-global Wiki.

FAQ and Other Questions

Contributors

Thanks goes to these wonderful people (emoji key):


moja global

📆

Abhishek Garain

💻

Max Fellows

👀

Guy Janssen

👀

This project follows the all-contributors specification. Contributions of any kind welcome!

Maintainers Reviewers Ambassadors Coaches

The following people are Maintainers Reviewers Ambassadors or Coaches


Abhishek Garain

💻

Max Fellows

👀

Maintainers review and accept proposed changes
Reviewers check proposed changes before they go to the Maintainers
Ambassadors are available to provide training related to this repository
Coaches are available to provide information to new contributors to this repository