{"id":22591711,"url":"https://github.com/subliker/user-bookings-service","last_synced_at":"2026-05-10T09:36:25.499Z","repository":{"id":196390389,"uuid":"696005810","full_name":"subliker/user-bookings-service","owner":"subliker","description":"Simple rest-api service to manage users and bookings","archived":false,"fork":false,"pushed_at":"2025-03-25T16:10:57.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T17:25:05.539Z","etag":null,"topics":["docker","golang","postgresql","rest-api","swagger"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subliker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-09-24T21:22:33.000Z","updated_at":"2025-03-25T16:11:00.000Z","dependencies_parsed_at":"2023-09-25T02:44:29.346Z","dependency_job_id":"35bd04a7-d063-49c9-8a8d-4108197f30fb","html_url":"https://github.com/subliker/user-bookings-service","commit_stats":null,"previous_names":["subliker/backendproj","subliker/user-bookings-service"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subliker%2Fuser-bookings-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subliker%2Fuser-bookings-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subliker%2Fuser-bookings-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subliker%2Fuser-bookings-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subliker","download_url":"https://codeload.github.com/subliker/user-bookings-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246078673,"owners_count":20720181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docker","golang","postgresql","rest-api","swagger"],"created_at":"2024-12-08T09:13:42.583Z","updated_at":"2026-05-10T09:36:20.417Z","avatar_url":"https://github.com/subliker.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# user-bookings-service\n\u003e RESTful API based on Go, PostgreSQL and Docker\n\n### Docs (Sweagger):\n```\nhttps://localhost:8000/docs/index.html\n```\n\n### Requirements:\n#### With Docker:\n ![docker](https://badgen.net/static/docker/@latest/purple)\u003cbr/\u003e\n You can install Docker \u003ca href=\"https://docs.docker.com/engine/install/\"\u003ethere\u003c/a\u003e\n\n#### Without Docker:\n ![golang](https://badgen.net/static/go/1.21.1/green?icon=github) ![postgresql](https://badgen.net/static/postgresql/@latest/)\u003cbr/\u003e\n You can install Golang \u003ca href=\"https://go.dev/doc/install\"\u003ethere\u003c/a\u003e\u003cbr/\u003e\n You can install PostgreSQL \u003ca href=\"https://www.postgresql.org/download/\"\u003ethere\u003c/a\u003e\n\n### Installing:\n1. Clone repository \n2. In main directory:\u003cbr/\u003e\n   With Docker:\n    for Windows users:\n      ```bash\n      docker-compose build\n      docker-compose up -d postgresdb\n      docker-compose up -d app\n      ```\n    for Linux users:\n      ```bash\n      sudo docker compose build\n      sudo docker compose up -d postgresdb\n      sudo docker compose up -d app\n      ```\n   Without Docker:\n    Set PostgreSQL in pgAdmin (see in env file (.env))\n    and \u003cbr/\u003e\n    \n    ```\n    go build\n    \n    //for windows\n    backendproj.exe\n\n    //for linux\n    ./backendproj\n    ```\n\n### Entities:\n - **User (example)**:\n```\n{\n  \"id\": 906,\n  \"username\": \"Andrew\",\n  \"password\": \"$2a$14$kv/sGmTWIlNYocbZqd88GuRsrOtKrs9bBFMM7N7HRNZ.qPxF.b.GG\", //bcrypt hash\n  \"created_at\": \"2023-09-24T17:13:42Z\",\n  \"updated_at\": \"2023-09-27T11:10:23Z\"\n}\n```\n - **Booking (example)**:\n```\n{\n  \"id\": 1021,\n  \"user_id\": 906,\n  \"end_time\": \"2023-10-01T14:30:00Z\",\n  \"start_time\": \"2023-10-01T12:00:00Z\",\n  \"comment\": \"I may be a little late\"\n}\n```\n\n### Requests\n- /user/{id} [get]\n  \u003cbr/\u003eGet User by id\n- /user [post]\n  \u003cbr/\u003eCreate User from postForm: username, password\n- /user/{user_id} [delete]\n  \u003cbr/\u003eDelete User and its bookings by user_id\n- /user/{id} [put]\n  \u003cbr/\u003eUpdate User data (optional: username, password) by id (set new timestamp in update_at)\n\n- /booking [get]\n  \u003cbr/\u003eGet all bookings ordered by id\n- /booking/{id} [get]\n  \u003cbr/\u003eGet Booking by id (optional: set limit, page(required limit), offset(required limit) in params)\n- /booking [post]\n  \u003cbr/\u003eCreate User from postForm: user_id, start_time, end_time, comment(optional)\n- /booking/{id} [delete]\n  \u003cbr/\u003eDelete Booking by id\n- /booking/{id} [put]\n  \u003cbr/\u003eUpdate Booking data (optional: start_time, end_time, comments) by id\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubliker%2Fuser-bookings-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubliker%2Fuser-bookings-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubliker%2Fuser-bookings-service/lists"}