Hackware Web Services

Felix Freeman 5d423a2500 Setup fixes/improvements 1 year ago
bootstrap 8cb57fd1e0 One testing environment to rule them all 4 years ago
config 6bb723527b CORS support 4 years ago
public ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 years ago
setup 5d423a2500 Setup fixes/improvements 1 year ago
.editorconfig c6751b68c2 EditorConfig 1 year ago
.env.example 7f61eb8d2d DLocalGo and PayPal env vars on .env 1 year ago
.env.testing 7f61eb8d2d DLocalGo and PayPal env vars on .env 1 year ago
.gitignore 45c63557ce composer collect-public 1 year ago
GPL-3.0-or-later.LICENSE ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 years ago
MIT-0.LICENSE ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 years ago
README.md 45c63557ce composer collect-public 1 year ago
artisan ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 years ago
composer.json 45c63557ce composer collect-public 1 year ago
phpunit.xml.dist 53af4521b9 Code coverage for phpunit tests 4 years ago

README.md

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.