Level
App to translate Scripture step by step
Install / Use
/learn @hiscoder-com/LevelREADME
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/hiscoder-com/level"> <img src="public/logo-level.jpg" alt="Logo" width="200" > </a> <h3 align="center">LEVEL</h3> <p align="center"> App to translate Scripture step by step <br /> <a href="https://github.com/hiscoder-com/level"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://level.bible/">View Demo</a> · <a href="https://github.com/hiscoder-com/level/issues">Report Bug</a> · <a href="https://github.com/hiscoder-com/level/issues">Request Feature</a> </p> </div> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">About The Project</a> <ul> <li><a href="#built-with">Built With</a></li> </ul> </li> <li> <a href="#getting-started">Getting Started</a> </li> <li> <a href="#installation-level-online">Installation LEVEL Online</a> </li> <li> <a href="#installation-level-intranet">Installation LEVEL Intranet</a> </li> <li><a href="#usage">Usage</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#acknowledgments">Acknowledgments</a></li> </ol> </details> <!-- ABOUT THE PROJECT -->About The Project
App to translate Scripture step by step
<!-- **Purpose** - The purpose of this project **Problem** - The problem statement **Scope** - What's in scope and out of scope for this project? **Background** - What led us to this point? How did we get here? <p align="right">(<a href="#top">back to top</a>)</p> -->Built With
<p align="right">(<a href="#top">back to top</a>)</p> <!-- GETTING STARTED -->Getting Started
There are 2 versions to install: LEVEL Online and LEVEL Intranet.
Installation LEVEL Online
Prerequisites
The online version of level consists of 2 parts:
- The Supabase project, which allows you to store data.
- The NextJS application.
Install Supabase CLI.
macOS
Install the CLI with Homebrew:
brew install supabase/tap/supabase
Windows
Install the CLI with Scoop:
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
Linux
The CLI is available through Homebrew and Linux packages.
Homebrew
brew install supabase/tap/supabase
Linux packages
Linux packages are provided in Releases. To install, download the .apk/.deb/.rpm file depending on your package manager and run one of the following:
sudo apk add --allow-untrusted <...>.apksudo dpkg -i <...>.debsudo rpm -i <...>.rpm
Installation
Clone the repo
git clone https://github.com/hiscoder-com/level.git
Go to the level folder
cd level
Install NPM packages
npm install or yarn
Start supabase project
supabase start
After the previous step is successful, information about the database configuration will appear
API URL: http://127.0.0.1:64321
GraphQL URL: http://127.0.0.1:64321/graphql/v1
DB URL: postgresql://postgres:postgres@127.0.0.1:64322/postgres
Studio URL: http://127.0.0.1:64323
Inbucket URL: http://127.0.0.1:64324
JWT secret: ***
anon key: ***
service_role ***
Create a copy of the env.local.example file and rename it to env.local
cp .env.local.example .env.local
Copy this information to .env.local
API URL to
SUPABASE_URL and NEXT_PUBLIC_SUPABASE_URL
anon key to
NEXT_PUBLIC_SUPABASE_ANON_KEY
service_role to
SUPABASE_SERVICE_KEY
Start project localy
npm run dev or yarn dev
Create user
Open http://localhost:3000/users/create and then create new user with login and email.
Sign in
Authenticate under the created user
Open http://localhost:3000 and sign in.
Agreements
After the first login to the site, the agreements page will open.
After all the agreements are marked, the user's personal account will open.
The first user is created with administrator rights, so the Create a project tab is available to him.
Create new project
Fill in all the fields in the tab "Create a project"
In field methods choose value cana-bible-eng or cana-obs-eng
In fields List of resources add resources url from git.door43.org.
For example:
literal
https://git.door43.org/unfoldingWord/en_ult/commit/155ef870f6ea832e568a90ed0c000d3dfc15de6f
simplified
https://git.door43.org/unfoldingWord/en_ust/commit/e000eb13414df7a356efc23fd41e81eda2478065
tnotes
https://git.door43.org/unfoldingWord/en_tn/commit/5a2ea85b908ddb6c25cbb7978a298babd5c21003
tquestions
https://git.door43.org/unfoldingWord/en_tq/commit/4a886af618637e08094f0d1193fb56c345963afa
twords
https://git.door43.org/unfoldingWord/en_twl/commit/8534077f7d32743eafa0e98b4088ef75f49027e7
or
obs
https://git.door43.org/unfoldingWord/en_obs/commit/07d949fbab7be5e967b385f4da5d034fae1b9b32
tnotes
https://git.door43.org/unfoldingWord/en_obs-tn/commit/9407660e7e453348174843436c1053dd78f26320
tquestions
https://git.door43.org/unfoldingWord/en_obs-tq/commit/0ee93b9dbb5f5e89580c8bfa6f9c1d07976536ed
twords
https://git.door43.org/unfoldingWord/en_obs-twl/commit/44ebc9fafe8101665f985007d566f5036a2be85b
Then click Create project
Start translate
Choose and add translator.
Create book in list of books. Then create chapter in list of chapters. Then in assigment page push button Select all, then Assign and Start the chapter.
After that, a link to the translate will appear in your personal account.
Installation LEVEL Intranet
<ol> <li> <a href="#recommendations-and-system-requirements">Recommendations and system requirements</a> </li> <li> <a href="#installation-of-the-necessary-environment">Installation of the necessary environment</a> </li> <li><a href="#installing-the-level-intranet">Installing the LEVEL Intranet</a></li> <li><a href="#loading-local-resources">Loading local resources</a></li> <li><a href="#connecting-to-the-server">Connecting to the server</a></li> <li><a href="#creating-users">Creating users</a></li> <li><a href="#creating-a-project">Creating a project</a></li> </ol>Recommendations and system requirements
We recommend installing LEVEL Intranet on a computer with a Linux system (tested on Linux mint 21.3) and at least 16 GB of RAM.
In this instruction, we assume that the installation is carried out on a clean system without previously installed docker images.
If you do have docker images already installed, you may already have some containers running and certain ports are busy. In this case, you may need to customize the files individually .env and docker-compose.yml.
Installation of the necessary environment
NodeJS
Install nvm. The latest version
Example of installing version 0.39.5:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
Install the stable version of NodeJS
nvm install --lts
Yarn
npm install --global yarn
Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Docker
The official instructions differ for different versions of Linux We recommend contacting here - https://docs.docker.com/engine/install/
Managing Docker on behalf of a non-root user
This is necessary in order to execute scripts with the docker cli without using sudo.
Instructions - https://docs.docker.com/engine/install/linux-postinstall/
Example:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
service docker start
Installing the LEVEL Intranet
In our test, we emulated the installation on a computer that works completely without the Internet.
For successful installation in this case, you need to prepare
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
