r3-team / r3

REI3 - Free and open low code
https://rei3.de
MIT License
359 stars 47 forks source link
application-builder business-managment business-software business-solutions free-software golang internal-solutions internal-tools low-code lowcode no-code nocode selfhosted web-development webdevelopment

r3_logo_git

REI3

Free and open low code
Build and host powerful applications with full control and ownership

Latest GitHub release Latest Linux x64 Latest Linux arm64 Latest Windows x64 GitHub go.mod Go version GitHub repo stars GitHub commit activity License

Live demo - News - Downloads - Documentation - Applications

Free yourself from walled gardens and cloud-only SaaS offerings. REI3 enables powerful low code applications, selfhosted in the cloud or on-premise. Create and then use, share or even sell your REI3 applications.

DEMO - Orgas DEMO - Gantt

:star: Features

DEMO - Calendar DEMO - Assets

:rocket: Quickstart

Linux

  1. Extract the REI3 package (x64/arm64) to any location (like /opt/rei3) and make the binary r3 executable (chmod u+x r3).
  2. Copy the file config_template.json to config.json and fill in details to an empty, UTF8 encoded Postgres database. The DB user needs full permissions to this database.
  3. Install optional dependencies - ImageMagick & Ghostscript for image and PDF thumbnails (sudo apt install imagemagick ghostscript), PostgreSQL client utilities for integrated backups (sudo apt install postgresql-client).
  4. Register (sudo ./r3 -install) and start REI3 with your service manager (sudo systemctl start rei3).

    Windows

  5. Setup the standalone version directly on any Windows Server with the installer.
  6. Optionally, install Ghostscript on the same Windows Server for PDF thumbnails.

Once running, REI3 is available at https://localhost (default port 443) with both username and password being admin. For the full documentation, visit rei3.de.

There are also Docker Compose files (x64/arm64) and a portable version for Windows available to quickly setup a test or development system.

:bulb: Where to get help

You can visit our community forum for anything related to REI3. The full documentation is available on rei3.de, including documentation for admins and application authors as well as Youtube videos.

:clap: Thank you

REI3 would not be possible without the help of our contributors and people using REI3 and providing feedback for continous improvement. So thank you to everybody involved with the REI3 project!

Stargazers repo roster for @r3-team/r3

REI3 is built on-top of amazing open source software and technologies. Naming them all would take pages, but here are some core libraries and software that helped shape REI3:

:+1: How to contribute

Contributions are always welcome - feel free to fork and submit pull requests.

REI3 follows a four-digit versioning syntax, such as 3.2.0.4246 (MAJOR.MINOR.PATCH.BUILD). The major release will stay at 3 indefinitely, while we introduce new features and database changes with each minor release. Patch releases primarily focus on fixes, but may include small features as long as the database is not changed.

The branch main will contain the currently released minor version of REI3; patches for this version can directly be submitted for the main branch. Each new minor release will use a separate branch, which will merge with main once the latest minor version is released.

:nut_and_bolt: Build REI3 yourself

If you want to build REI3 itself, you can fork this repo or download the source code to build your own executable. The master branch contains the current minor release, while new minor releases are managed in new branches.

  1. Install the latest version of Golang.
  2. Go into the source code directory (where r3.go is located) and execute: go build -ldflags "-X main.appVersion={YOUR_APP_VERSION}".
    • Replace {YOUR_APP_VERSION} with the version of the extracted source code. Example: go build -ldflags "-X main.appVersion=2.5.1.2980"
    • You can change the build version anytime. If you want to upgrade the major/minor version numbers however, you need to deal with upgrading the REI3 database (see db/upgrade/upgrade.go).
    • By setting the environment parameter GOOS, you can cross-compile for other systems (GOOS=windows, GOOS=linux, ...).
    • Static resource files (HTML, JS, CSS, etc.) are embedded into the binary during compilation - so changes to these files are only reflected after you recompile. Alternatively, you can use the -wwwpath command line argument to load REI3 with an external www directory, in which you can make changes directly.
  3. Use your new, compiled binary of REI3 to replace an already installed one.
  4. You can now start your own REI3 version. Make sure to clear all browser caches after creating/updating your own version.

:page_with_curl: License

REI3 © 2019-2024 Gabriel Victor Herbert - released under the MIT license.