{"id":17999081,"url":"https://github.com/wkrzywiec/noticeboard","last_synced_at":"2025-07-05T01:36:38.841Z","repository":{"id":39945576,"uuid":"224056425","full_name":"wkrzywiec/NoticeBoard","owner":"wkrzywiec","description":"Simple RESTful CRUD application (based on Spring Boot)","archived":false,"fork":false,"pushed_at":"2024-07-06T11:08:16.000Z","size":160,"stargazers_count":16,"open_issues_count":8,"forks_count":49,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T08:48:40.497Z","etag":null,"topics":["crud-application","docker","github-actions","maven","postgres","rest-api","restful","restful-api","spring","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","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/wkrzywiec.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}},"created_at":"2019-11-25T22:50:41.000Z","updated_at":"2025-03-18T01:10:14.000Z","dependencies_parsed_at":"2022-08-25T08:50:42.158Z","dependency_job_id":null,"html_url":"https://github.com/wkrzywiec/NoticeBoard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkrzywiec%2FNoticeBoard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkrzywiec%2FNoticeBoard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkrzywiec%2FNoticeBoard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkrzywiec%2FNoticeBoard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wkrzywiec","download_url":"https://codeload.github.com/wkrzywiec/NoticeBoard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245603750,"owners_count":20642872,"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":["crud-application","docker","github-actions","maven","postgres","rest-api","restful","restful-api","spring","spring-boot"],"created_at":"2024-10-29T22:09:57.787Z","updated_at":"2025-03-26T06:31:28.705Z","avatar_url":"https://github.com/wkrzywiec.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Noticeboard CRUD application\n\n![Master Branch](https://github.com/wkrzywiec/NoticeBoard/workflows/Master%20Branch/badge.svg) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=wkrzywiec_NoticeBoard\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=wkrzywiec_NoticeBoard) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=wkrzywiec_NoticeBoard\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=wkrzywiec_NoticeBoard)\n\nThis is a simple RESTful CRUD (Create Read Update Delete) application for managing Boards, Notices and Authors saved in PostgreSQL database. It provides basic REST endpoints like fetching all objects of given type, finding them by their id, creating them and so on.\n\n![data-model](https://github.com/wkrzywiec/NoticeBoard/blob/master/pics/data-model.png)\n\n## Usage\n\nAn application expose 5 REST endpoints for each entity. For example *Notice* (and any other) they are:\n\n* **GET** `{baseURL}/notices/` - lists all *Notices* (as Json array),\n* **GET** `{baseURL}/notices/{id}` - gets single *Notice* (as Json) by its `{id}`,\n* **POST** `{baseURL}/notices/` - creates a new *Notice* which is passed in the BODY of the request,\n* **PUT** `{baseURL}/notices/{id}` - updates an existing *Notice* (with an `{id}`) with `Notice` passed in the body of the request,\n* **DELETE** `{baseURL}/notices/{id}`- deletes an existing *Notice* by its `{id}`.\n\nIf you run this application locally the `{baseUrl}` would be `http://localhost:8080`. \n\nAll available endpoints are listed on *Swagger UI* page which can be entered, when application is running, under *http://localhost:8080/swagger-ui.html* URL.\n\n![endpoints](https://github.com/wkrzywiec/NoticeBoard/blob/master/pics/notice-endpoints.png)\n\n## Installation\n\n#### Run\n\nBefore running the application make sure that you are running PostgreSQL database on your local machine.\n\nIn order to run it use following command:\n\n```shell script\nmvn clean spring-boot:run\n```\n\n#### Integration tests\n\nIn this project there are located several integration tests for REST endpoints during which H2 database is used. To run those tests activate Mavan `-P integration-test` profile:\n\n```shell script\nmvn clean verify -P integration-test\n```\n\n## License \n\nThe MIT License - 2020 - Wojciech Krzywiec\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkrzywiec%2Fnoticeboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwkrzywiec%2Fnoticeboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkrzywiec%2Fnoticeboard/lists"}