Skip to content

A full-stack application to visualize and edit entities and their relations defined in JSON Schema.

License

Notifications You must be signed in to change notification settings

BAMresearch/jsoned

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsoned

A local application to visualize and edit entities and their relations defined in a JSON Schema. The architecture of jsoned is:

  • FastAPI (Python): backend
  • SvelteKit (JavaScript): frontend
  • MongoDB: database
  • Tauri (Rust): framework for building binaries for desktop app

Development

If you want to develop locally this package, clone the project and enter in the workspace folder:

git clone https://github.com/BAMresearch/jsoned.git
cd jsoned

Create a virtual environment (you can use Python>3.10) in your workspace:

python3 -m venv .venv
source .venv/bin/activate

We recommend using uv for installing the dependencies:

uv sync

Run the app

In order to run the app, you need to follow the instructions for different services. Using uvicorn you can launch the FastAPI app:

cd jsoned/
uvicorn main:app --reload

The SwaggerUI will help you understand the implemented endpoints.

MongoDB Compass

Go to MongoDB and install MongoDB Community Edition and MongoDB Compass.

Once the installation is finished, launch MongoDB Compass and start a connection with URI mongodb://localhost:27017. Name it json_db. You can also create a new collection and call it schemas. The URI and names of the database and collection are defined in jsoned/settings.py.

NodeJS

We use npm to manage the frontend dependencies. Go to NodeJS and install npm.

You can install and run the SvelteKit server:

cd gui/
npm run dev

About

A full-stack application to visualize and edit entities and their relations defined in JSON Schema.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages