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
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 jsonedCreate a virtual environment (you can use Python>3.10) in your workspace:
python3 -m venv .venv
source .venv/bin/activateWe recommend using uv for installing the dependencies:
uv syncIn 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 --reloadThe SwaggerUI will help you understand the implemented endpoints.
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.
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