Skip to content

Commit

Permalink
style: fix the word wrap in README
Browse files Browse the repository at this point in the history
  • Loading branch information
KennethTrecy committed Jul 14, 2024
1 parent f4d3fb2 commit 557b3b0
Showing 1 changed file with 60 additions and 37 deletions.
97 changes: 60 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,71 +8,86 @@
# Peratorakka Server
A server for any Peratorakka client.

Peratorakka is a software system aimed to manage and track the personal finance. It is made up of a
[client] and server. In this repository, it has an implementation of the server which process the data
and stores them in any compatible database. The database may be an instance of PostgreSQL server, MySQL
server, or others as long as it is supported by CodeIgniter framework. CodeIgniter is the framework that Peratorakka server builds on.
Peratorakka is a software system aimed to manage and track the personal
finance. It is made up of a [client] and server. In this repository, it has an
implementation of the server which process the data and stores them in any
compatible database. The database may be an instance of PostgreSQL server,
MySQL server, or others as long as it is supported by CodeIgniter framework.
CodeIgniter is the framework that Peratorakka server builds on.

There is no public server available right now, but it may happen in the future when the author has
enough time. Yet, I still outlined the instructions below in case someone wants to host an instance
of Peratorakka server.
There is no public server available right now, but it may happen in the future
when the author has enough time. Yet, I still outlined the instructions below
in case someone wants to host an instance of Peratorakka server.

For more information on the abilities of the system, please read the [author's post].
For more information on the abilities of the system, please read the [author's
post].

## Origin
Some parts of the repository was based from [`filled_composer_json`] branch of [Web Template].
Some parts of the repository was based from [`filled_composer_json`] branch of
[Web Template].

The template has been specialized for back-end development.

Other parts were auto-generated using the command `composer create-project codeigniter4/appstarter`.
Therefore, any changes in [composer-installable app starter development repository] should be updated if
necessary.
Other parts were auto-generated using the command `composer create-project
codeigniter4/appstarter`. Therefore, any changes in [composer-installable app
starter development repository] should be updated if necessary.

## Usage

### Installation
The installation steps may be a bit technical and requires admins to be knowledgeable on setting environment variables.
The installation steps may be a bit technical and requires admins to be
knowledgeable on setting environment variables.

#### Server Requirements
PHP version 7.4 or higher is required, with the following extensions installed:
PHP version 7.4 or higher is required, with the following extensions
installed:

- [intl](http://php.net/manual/en/intl.requirements.php)
- [mbstring](http://php.net/manual/en/mbstring.installation.php)

Additionally, make sure that the following extensions are enabled in your PHP:

- json (enabled by default - don't turn it off)
- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php) if you plan to use MySQL
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use the HTTP\CURLRequest library
- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php) if you plan to use
MySQL
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use
the HTTP\CURLRequest library

#### Instructions (if you want dedicated server)
1. Copy `.env.lax.example` to `.env` and tailor the configuration for your machine, specifically the `baseURL` and
any database settings.
1. Copy `.env.lax.example` to `.env` and tailor the configuration for your
machine, specifically the `baseURL` and any database settings.
2. Run `composer install --no-dev`. Install dependencies for production.
3. Run `composer run migrate:all`. It is recommended to run the command every update.
3. Run `composer run migrate:all`. It is recommended to run the command every
update.

#### Instructions (if you want containerized server)
Below are instructions to host your application in a container. However, they are not yet clear and
may vary depending on machine and admin's preferences.
1. Copy `env.container.example` to `.env.container` and tailor the configuration for your container.
2. Copy `env` to `.env` and tailor the configuration for your server, specifically the `baseURL` and
any database settings. Note that `.env` is for the server *inside* the container while `.env.container` is for the container itself.
3. Use `host.docker.internal` for hostname to connect the database server and HTTP server correctly.
Below are instructions to host your application in a container. However, they
are not yet clear and may vary depending on machine and admin's preferences.
1. Copy `env.container.example` to `.env.container` and tailor the
configuration for your container.
2. Copy `env` to `.env` and tailor the configuration for your server,
specifically the `baseURL` and any database settings. Note that `.env` is
for the server *inside* the container while `.env.container` is for the
container itself.
3. Use `host.docker.internal` for hostname to connect the database server and
HTTP server correctly.
4. Run `docker compose --env-file .env.container up --detach`.
4. Run `docker compose --env-file .env.container up --detach --build` if you want to rebuild the
HTTP server after receiving updates by using `git pull origin master`.
4. Run `docker compose --env-file .env.container up --detach --build` if you
want to rebuild the HTTP server after receiving updates by using `git pull
origin master`.

### Initialization (for developers)
If you want to contribute, the repository should be initialized to adhere in [Conventional Commits
specification] for organize commits and automated generation of change log.
If you want to contribute, the repository should be initialized to adhere in
[Conventional Commits specification] for organize commits and automated
generation of change log.

#### Prerequisites
- [Node.js environment]
- [pnpm] (optional)

#### Instructions
1. By running the command below, all your commits will be linted to follow the [Conventional Commits
specification].
1. By running the command below, all your commits will be linted to follow the
[Conventional Commits specification].
```
$ npm install
```
Expand All @@ -87,27 +102,35 @@ specification].
```

### Syncing application space
To synchronize the files in this repository's history from the framework's application space:
To synchronize the files in this repository's history from the framework's
application space:
1. Reset/rebase the `master` branch on any desired branch.
2. Run `Copy-Item vendor/codeigniter4/framework/[path to the updated file] [path to the old file on your root]`.
2. Run `Copy-Item vendor/codeigniter4/framework/[path to the updated file]
[path to the old file on your root]`.

## Notes

### License
The repository is licensed under [MIT].

### Want to contribute?
Please read the [contributing guide] for different ways to contribute in the project.
Please read the [contributing guide] for different ways to contribute in the
project.

You can also make a financial contribution, no matter how small, to support its development and maintenance.
You can also make a financial contribution, no matter how small, to support
its development and maintenance.

[![Donate badge](https://img.shields.io/badge/PayPal-_?logo=paypal&label=Donate%20via&color=%23003087&link=https%3A%2F%2Fpaypal.me%2FKennethTrecy)](https://www.paypal.me/KennethTrecy)
[![Donate
badge](https://img.shields.io/badge/PayPal-_?logo=paypal&label=Donate%20via&color=%23003087&link=https%3A%2F%2Fpaypal.me%2FKennethTrecy)](https://www.paypal.me/KennethTrecy)

### Author
Coded by Kenneth Trecy Tobias.

### Disclaimer
This personal project may contain references to trademarks, which are included in good faith. However, it is important to note that such references do not indicate any endorsement, affiliation, or sponsorship by the respective trademark holders unless explicitly stated.
This personal project may contain references to trademarks, which are included
in good faith. However, it is important to note that such references do not
indicate any endorsement, affiliation, or sponsorship by the respective
trademark holders unless explicitly stated.

[`filled_composer_json`]: https://github.com/KennethTrecy/web_template/tree/filled_composer_json
[Web Template]: http://github.com/KennethTrecy/web_template
Expand Down

0 comments on commit 557b3b0

Please sign in to comment.