Publish as you wish.
Journalim Protocol »
Journalim Backend Services »
Journalim Mobile App »
Protocol Home
·
Report Bug
·
Request Feature
“ Journalim Protocol ” is simply a series of REST API design rules, where all nececcary end points with the standard name should be implemented on the backend, and by doing so, all frontend or mobile clients will able to search, detect and present underlying documents and informations.
You can use Journalim
for education, or your business in respect to our license agreement. Journalim is mainly designed for publishings as PDF documents, journalim can also carry text oriendted posts, events etc.
You might find many other ways to use journalim for your next project, one simple use case is using journalim as your personal blog.
Simply implement all end points shown in the ‘Endpoints and Standards’ section, or you can deploy the “JBS (Journalim Backend Service)” which is provided as a minimum implementation of the protocol.
Check here regularly, as we have a plan to implment the Journalim Frontend for Android and iOS platforms.
The simplest way to deploy JBS on local host is by using Docker
:
version: '3.9'
services:
api:
build: .
command: bash -c 'while !</dev/tcp/db/5432; do sleep 1; done; uvicorn app.main:app --proxy-headers --host 0.0.0.0 --port 80'
volumes:
- .:/app
ports:
- 8008:8000
environment:
- PROJECT_NAME=JBS Backend Service
- PROJECT_VERSION=0.0.1
- PROJECT_DESCRIPTION=Journalim Protocol Compatible Backend Service
- SUPER_ADMIN_USERNAME=YOUR ADMIN USERNAME
- SUPER_ADMIN_PASSWORD=YOUR ADMIN PASSWORD
- SUPER_ADMIN_EMAIL=YOUR ADMIN EMAIL
- DATABASE_URL=postgresql+asyncpg://postgres:postgres@db:5432/journalim
db:
image: postgres:latest
volumes:
- postgres_data:/var/lib/postgresql/data/
ports:
- 8007:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=journalim
volumes:
postgres_data:
Deploying on servers are relatively complex than running on localhost. Here we show the minimum deployment labels for Traefik
labels:
# Enable Traefik for this specific "journali-api" service
- traefik.enable=true
# Define the port inside of the Docker Service to use
- traefik.http.services.app.loadbalancer.server.port=80
# Make Traefik use this domain in HTTP
- traefik.http.routers.app-http.entrypoints=http
- traefik.http.routers.app-http.rule=Host(`journalim.gepsoz.com`)
# Use the trafik-public network (declared below)
- traefik.docker.network=traefik-public
networks:
# Use the public network created to be shared between Traefik
# any other service that needs to be publicly available
- traefik-public
# This network named Journalim is only shared between services in this docker compose.
- journalim
cd
to clients
for details.
JBS provides client libraries in the following languages:
- Dart
- Javascript
- JAVA
- Kotlin
- Python3
- Swift5
- Typescript
- with
axios
- with
fetch
- with
Standards are coming.
Contributions are welcomed. I am planning a new docs for developers explaining the sowftware architecture, development dependencies and etc, stay connected.
Journalim Protocol Licensed Under MIT.
Journalim Backend Services Licensed Under LGPLv3 for Personal Use, for commercial, it is under AzatAI Commercial Licence Agreement (AzatAI CLA), for educational and academic purposes you can also apply for AzatAI Educational License Agreement (AzatAI ELA).