README.md 2.6 KB

Hackware Web Services

Description

Hackware Web Services or "Hawese" is a modular web API which returns JSON responses.

Its structure is based on Laravel/Lumen 5.8+ packages. It can be mounted as a monolithical web service or as various microservices depeding on how you structure your composer.json.

Features (packages)

  • Core: Lightweight base class for table based models, standardized JSON responses and User model.
  • Wallet: Digital wallet that associates transactions and balance to unique users.
  • Payment: Payment through various payment gateways. Currently Khipu and Flow.

How to pronounce Hawese?

You can pronounce it as "how easy".

Run it

Requirements

Please refer to the requirements of each package. Basically the same as of Lumen/Laravel 5.8+ and composer.

Installation

Manual

  1. git clone https://git.hackware.cl/hawese
  2. Setup your environment variables based on the .env.example file. It will load .env.APP_ENV if you set the APP_ENV environment variable beforehand. Elsewhere it will load the .env file.
  3. Add the desired hawese projects (hackware/hawese-{payment,wallet,seeds}) to composer.json
  4. composer install && composer run collect-public.
  5. Run from the public/ path.

Automated

  1. git clone https://git.hackware.cl/hawese
  2. Run setup/setup.sh on Debian as root, or optionally setup/setup_lxd.sh with the proper environment variables configured (defined on those files).
  3. Manually edit the .env file for missing configurations.
  4. Setup your endpoints through DNS or /etc/hosts.

Find detailed documentation and configuration options in each project.

Tests

If you are developing Hawese run tests with composer test or composer test-coverage.

Add directories for your project tests as testsuite on phpunit.xml.dist and to its whitelist for coverage analysis.

Copyright and licensing

Copyright 2019-2022 Hackware SpA.

This project license defaults to GPL 3.0 or later if you use any of the following projects (since are AGPL licensed):

  • hackware/hawese-wallet
  • hackware/hawese-payment

If you don't use that dependencies in the composer.json file then you can choose to use the MIT-0 license terms.

The core library hackware/hawese-core is released under the terms of the MIT license. Non listed dependencies are released under permisive licenses too.

I will greatly appreaciate your contributions back. Please free your software too.