{"id":39512958,"url":"https://github.com/ariebrainware/paylist-api","last_synced_at":"2026-01-18T06:06:40.864Z","repository":{"id":55673984,"uuid":"196684647","full_name":"ariebrainware/paylist-api","owner":"ariebrainware","description":"Pay bill, set budget per month, and jot down some buy list easily with Paylist","archived":false,"fork":false,"pushed_at":"2024-09-23T12:14:54.000Z","size":287,"stargazers_count":13,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T18:46:40.979Z","etag":null,"topics":["backend","database","digital-finance","gin","go","golang","goose","goose-migration","paylist"],"latest_commit_sha":null,"homepage":"https://api.paylist.ariebrainware.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ariebrainware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-13T06:00:25.000Z","updated_at":"2024-09-20T05:38:02.000Z","dependencies_parsed_at":"2024-06-19T06:16:01.487Z","dependency_job_id":"38cd5862-4062-4918-8a6c-49a86b568a8b","html_url":"https://github.com/ariebrainware/paylist-api","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ariebrainware/paylist-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariebrainware%2Fpaylist-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariebrainware%2Fpaylist-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariebrainware%2Fpaylist-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariebrainware%2Fpaylist-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ariebrainware","download_url":"https://codeload.github.com/ariebrainware/paylist-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ariebrainware%2Fpaylist-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28531993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","database","digital-finance","gin","go","golang","goose","goose-migration","paylist"],"created_at":"2026-01-18T06:06:37.833Z","updated_at":"2026-01-18T06:06:40.847Z","avatar_url":"https://github.com/ariebrainware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PayList-API\n\n[![License](https://img.shields.io/badge/license-MIT-blue?logo=appveyor)](https://github.com/ariebrainware/paylist-api/blob/master/LICENSE)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/ariebrainware/paylist-api?color=lightblue)\n![GitHub contributors](https://img.shields.io/github/contributors/ariebrainware/paylist-api?color=yellowgreen)\n![Master last commit](https://img.shields.io/github/last-commit/ariebrainware/paylist/master?label=last-commit%3Amaster)\n![Develop last commit](https://img.shields.io/github/last-commit/ariebrainware/paylist/develop?label=last-commit%3Adevelop)\n![GitHub Release Date](https://img.shields.io/github/release-date/ariebrainware/paylist-api)\n\nPay your bill easily!\n\n## Setup\n\n1. Install golang and setup `$GOPATH`. Download in [here](https://golang.org/dl/) and Installation instruction can be found in [here](https://golang.org/doc/install)\n2. `go get -u github.com/ariebrainware/paylist-api`\n3. Setup `connString`  variable inside `config.go`\n4. `go run main.go`\n5. Install go get -u github.com/pressly/goose/cmd/goose for goose migration or you can find Installation instruction in [here](https://github.com/pressly/goose)\n\n## API Design\n\n| Endpoint              | Method | Description                                           |\n| ---------------       | ------ | ----------------------------------------------------- |\n| /paylist              | GET    | Show all user-paylist data                            |\n| /paylist              | POST   | Add new user-paylist data                             |\n| /paylist/:id          | PUT    | Update paylist based on `id` in parameter request     |\n| /paylist/:id          | DELETE | Delete user-paylist based on input `id` parameter     |\n| /paylist/:id          | GET    | Show single paylist based on id in parameter request  |\n| /users                | GET    | Show all user                                         |\n| /users/:id            | GET    | Show single user bases on `id` in parameter request   |\n| /users/:id            | PUT    | Update paylist based on `id` in parameter request     |\n| /users/:id            | DELETE | Delete user based on `id` in parameter                |\n| /users/signup         | POST   | Sign Up user or create new user                       |\n| /users/signin         | POST   | Sign in for user                                      |\n| /user/signout         | GET    | Sign out user or logout                               |\n| /user-paylist/:id     | PUT    | Update user-paylist status(complete or not)           |\n| /users/refresh-token  | POST   | Refresh Expired Token                                 |\n| /editpassword/:id     | PUT    | Handling user change password                         |\n| /addsaldo             | POST   | Add User Balance                                      |\n\n## Database Design\n\nUse GORM\n\nDatabase design will automatically create by using `db.AutoMigrate`. So you just need to config database connection string inside `config.go`, then run `main.go`\n\nGoose Migration\n\nCreate a new SQL migration.\n```\ngoose create add_some_column sql\n```\n\nUsage: goose [OPTIONS] DRIVER DBSTRING COMMAND\n```\ngoose postgres \"host=localhost user=postgres password='' dbname=postgres sslmode=disable\" status\n```\n\nCommands:\n```\nup                   Migrate the DB to the most recent version available\ndown                 Roll back the version by 1\nstatus               Dump the migration status for the current DB\ncreate NAME [sql|go] Creates new migration file with the current timestamp\n```\n\n```go\nPaylists Table\n+------------+------------------+------+-----+---------+----------------+\n| Field      | Type             | Null | Key | Default | Extra          |\n+------------+------------------+------+-----+---------+----------------+\n| id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |\n| created_at | timestamp        | YES  |     | NULL    |                |\n| updated_at | timestamp        | YES  |     | NULL    |                |\n| deleted_at | timestamp        | YES  | MUL | NULL    |                |\n| name       | varchar(255)     | YES  |     | NULL    |                |\n| amount     | int(11)          | YES  |     | NULL    |                |\n| due_date   | date             | YES  |     | NULL    |                |\n| username   | varchar(255)     | YES  |     | NULL    |                |\n| completed  | tinyint(1)       | YES  |     | NULL    |                |\n+------------+------------------+------+-----+---------+----------------+\n```\n\n```go\nUsers Table\n+------------+------------------+------+-----+---------+----------------+\n| Field      | Type             | Null | Key | Default | Extra          |\n+------------+------------------+------+-----+---------+----------------+\n| id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |\n| created_at | timestamp        | YES  |     | NULL    |                |\n| updated_at | timestamp        | YES  |     | NULL    |                |\n| deleted_at | timestamp        | YES  | MUL | NULL    |                |\n| email      | varchar(255)     | YES  |     | NULL    |                |\n| name       | varchar(255)     | YES  |     | NULL    |                |\n| username   | varchar(255)     | NO   | PRI | NULL    |                |\n| password   | varchar(255)     | YES  |     | NULL    |                |\n| balance    | int(11)          | YES  |     | NULL    |                |\n+------------+------------------+------+-----+---------+----------------+\n```\n\n```go\nLoggings Table\n+------------+------------------+------+-----+---------+----------------+\n| Field      | Type             | Null | Key | Default | Extra          |\n+------------+------------------+------+-----+---------+----------------+\n| username   | varchar(255)     | YES  |     | NULL    |                |\n| token      | varchar(255)     | YES  |     | NULL    |                |\n| user_status| tinyint(1)       | YES  |     | NULL    |                |\n| created_at | timestamp        | YES  |     | NULL    |                |\n| deleted_at | timestamp        | YES  | MUL | NULL    |                |\n+------------+------------------+------+-----+---------+----------------+\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fariebrainware%2Fpaylist-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fariebrainware%2Fpaylist-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fariebrainware%2Fpaylist-api/lists"}