64 lines
2.6 KiB
Markdown
64 lines
2.6 KiB
Markdown
# 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](https://git.hackware.cl/hawese-core): Lightweight base class for table based models, standardized JSON responses and User model.
|
|
- [Wallet](https://git.hackware.cl/hawese-wallet): Digital wallet that associates transactions and balance to unique users.
|
|
- [Payment](https://git.hackware.cl/hawese-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`.
|
|
4. 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](https://hackware.cl).
|
|
|
|
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.
|