<p align="center"><img src="https://raw.githubusercontent.com/Karaka-Management/Assets/master/art/logo.png" width="256" alt="Logo"></p>

The **phpOMS** framework is primarily developed for the Karaka application which is a modular web application for small to mid sized companies that need CRM, ERP, Intranet and/or CMS functionalities and much more. The framework is also used in some other tools and websites which compliment the Karaka web application and provides the necessary php functionality.

With Karaka you have one partner who can provide all the tools and software solutions you are used to at fair and reasonable prices even for small organizations and companies/startups. Our solutions can be used independently from each other or fully integrated with other solutions we provide. By choosing Karaka as your partner you'll be able to adjust your software based on the changes in your requirements without worrying about integration and workflow optimization.

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Requirements](#requirements)
  - [Developer tools](#developer-tools)
- [Installation](#installation)
- [Philosophy & Demo](#philosophy--demo)
- [Development status](#development-status)
- [Tech stack](#tech-stack)
- [Become a contributor](#become-a-contributor)
- [Misc](#misc)

## Requirements

* PHP 8.1
* PHP extension: php8.1-dev php8.1-cli php8.1-common php8.1-mysql php8.1-pgsql php8.1-xdebug php8.1-opcache php8.1-pdo php8.1-sqlite php8.1-mbstring php8.1-curl php8.1-imap php8.1-bcmath php8.1-zip php8.1-dom php8.1-xml php8.1-phar php8.1-gd php-pear
* apache2 (recommended) or nginx
* mysql-server (recommended) or postgresql postgresql-contrib
* Tools: tesseract-ocr, pdftotext, pdftoppm
* Make sure that URL rewriting is active!

### Developer tools

* Php extension: xdebug
* Tools: Composer, Npm
* Composer tools: phpstan, phpunit, phpcs
* Npm tools: eslint

## Installation

Detailed installation instructions can be found at:

* [Developer Setup](https://github.com/Karaka-Management/Developer-Guide/blob/develop/general/setup.md)
* [User Setup](https://github.com/Karaka-Management/User-Guide/blob/develop/setup/install.md)

## Philosophy & Demo

We believe software should support a business in it's daily tasks and growth in a very efficient way without frustration. In order to achieve this we constantly take feedback from our customers and expand and improve our software solutions.

You can find a freely available online demo at https://demo.karaka.app (user: admin, pass: orange) without any registration or inquiry.

## Development status

Currently Karaka is still developing the first Alpha version. As soon as we have a running Beta version we are allowing external testers to use our software and a selected amount of inhouse developed modules.

General updates can be found in our info section at https://jingga.app/info and developer updates can be found in our developer section at https://jingga.app/dev. In our developer section you can also check out the automatically generated reports such as code coverage, code style, static analysis etc. as well as our code style guide lines and developer documentation.

* [Project Status](https://github.com/orgs/Karaka-Management/projects/10)

## Tech stack

* Language: php, js, c/c++, c#, html, css, markdown, shell script
* Database: Maria/MySQL, PostgreSQL, MSSQL/SQLSrv, SQLite
* Webserver: apache2, nginx
* Cache: Redis, Memcached

## Become a contributor

Karaka has a very open culture and we always welcome new people who share our philosophy in providing create solutions which just work. You can find the development process description which also describes how to become a contributer in the [Organization documentation](https://github.com/Karaka-Management/Organization-Guide/blob/master/Processes/01_Development.md).

## Misc

* End-User documentation: https://github.com/Karaka-Management/Documentation
* Developer documentation: https://github.com/Karaka-Management/Developer-Guide
* Organization documentation: https://github.com/Karaka-Management/Organization-Guide
* Website: [https://jingga.app](https://jingga.app)
* Demo: [https://jingga.app](https://jingga.app) (user: admin, pass: orange)
* Dev: [https://jingga.app/dev](https://jingga.app/dev)
* Contact: dennis@karaka.app
