mirror of
https://github.com/go-shiori/shiori.git
synced 2025-09-08 22:15:58 +08:00
* added 404 template * added auth domain * added embed file for frontend * added base config and dependencies * added basic new http server * added separated server command * updated go modules * removed modd file * Added shortcut to send internal server error response * Added JWT support to Auth Domain * Added JWT support to API * docs: added comments to response struct * naming * inline returns * updated dependencies * production logger * bookmarks endpoint * reverted old views api path * frontend for api v1 * proper 404 error (not working atm) * use response * removed 404 html * server error handler * login and basic auth * adjusted session duration * properly retrieve tags * properly delete bookmark * cleanup * archiver domain * debug routes * bookmark routes * expiration by parameter * move to logrus * logout * frontend cache * updated dependencies * http: migrated to gin * linted * Added version command * unit tests, docs * response test utils and tests * remove logout handler * auth * createtag * improved http test utilities * assert message equals * Remove 1.19 from test matrix * moved api to v1 folder * docs: contribute docs * updated makefile * updated usage docs * warn in server command * updaed docs with shiori version command * Updated documentation * deps: update
68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
# Contribute
|
||
|
||
1. [Running the server locally](#running-the-server-locally)
|
||
2. [Updating the API documentation](#updating-the-api-documentation)
|
||
3. [Lint the code](#lint-the-code)
|
||
4. [Running tests](#running-tests)
|
||
|
||
## Running the server locally
|
||
|
||
To run the current development server with the defaults you can run the following command:
|
||
|
||
```bash
|
||
make serve
|
||
```
|
||
|
||
If you want to run the refactored server, you can run the following command:
|
||
|
||
```bash
|
||
make run-server
|
||
```
|
||
|
||
> **ℹ️ Note:** For more information into what the _refactored server_ means, please check this issue: https://github.com/go-shiori/shiori/issues/640
|
||
|
||
## Updating the API documentation
|
||
|
||
> **ℹ️ Note:** This only applies for the Rest API documentation under the `internal/http` folder, **not** the one under `internal/webserver`.
|
||
|
||
If you make any changes to the Rest API endpoints, you need to update the swagger documentation. In order to do that, you need to have installed [swag](https://github.com/swaggo/swag).
|
||
|
||
Then, run the following command:
|
||
|
||
```bash
|
||
make swagger
|
||
```
|
||
|
||
## Lint the code
|
||
|
||
In order to lint the code, you need to have installed [golangci-lint](https://golangci-lint.run).
|
||
|
||
After that, run the following command:
|
||
|
||
```bash
|
||
make lint
|
||
```
|
||
|
||
If any errors are found please fix them before submitting your PR.
|
||
|
||
## Running tests
|
||
|
||
In order to run the test suite, you need to have running a local instance of MariaDB and PostgreSQL.
|
||
If you have docker, you can do this by running the following command with the compose file provided:
|
||
|
||
```bash
|
||
docker-compose up -d mariadb postgres
|
||
```
|
||
|
||
After that, provide the `SHIORI_TEST_PG_URL` and `SHIORI_TEST_MYSQL_URL` environment variables with the connection string to the databases:
|
||
|
||
```
|
||
SHIORI_TEST_PG_URL=postgres://shiori:shiori@127.0.0.1:5432/shiori?sslmode=disable
|
||
SHIORI_TEST_MYSQL_URL=shiori:shiori@tcp(127.0.0.1:3306)/shiori
|
||
```
|
||
|
||
Finally, run the tests with the following command:
|
||
|
||
```bash
|
||
make unittest
|
||
```
|