https://github.com/userver-framework/pg_service_template
Template of a C++ service that uses userver framework with PostgreSQL. Build, test and CI scripts ready
https://github.com/userver-framework/pg_service_template
asynchronous backend coroutines cplusplus-17 cpp17 makefile postgres postgresql postgresql-database template template-project testing userver
Last synced: 3 months ago
JSON representation
Template of a C++ service that uses userver framework with PostgreSQL. Build, test and CI scripts ready
- Host: GitHub
- URL: https://github.com/userver-framework/pg_service_template
- Owner: userver-framework
- Created: 2022-07-07T11:44:13.000Z (almost 3 years ago)
- Default Branch: develop
- Last Pushed: 2025-02-05T09:45:27.000Z (3 months ago)
- Last Synced: 2025-02-05T10:35:43.752Z (3 months ago)
- Topics: asynchronous, backend, coroutines, cplusplus-17, cpp17, makefile, postgres, postgresql, postgresql-database, template, template-project, testing, userver
- Language: C++
- Homepage:
- Size: 78.1 KB
- Stars: 42
- Watchers: 7
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pg_service_template
Template of a C++ service that uses [userver framework](https://github.com/userver-framework/userver) with PostgreSQL.
## Download and Build
To create your own userver-based service follow the following steps:
1. Press the "Use this template button" at the top right of this GitHub page
2. Clone the service `git clone your-service-repo && cd your-service-repo`
3. Give a proper name to your service and replace all the occurrences of "service_template" string with that name
(could be done via `find . -not -path "./third_party/*" -not -path ".git/*" -not -path './build-*' -type f | xargs sed -i 's/service_template/YOUR_SERVICE_NAME/g'`).
4. Feel free to tweak, adjust or fully rewrite the source code of your service.## Makefile
`PRESET` is either `debug`, `release`, or if you've added custom presets in `CMakeUserPresets.json`, it
can also be `debug-custom`, `release-custom`.* `make cmake-PRESET` - run cmake configure, update cmake options and source file lists
* `make build-PRESET` - build the service
* `make test-PRESET` - build the service and run all tests
* `make start-PRESET` - build the service, start it in testsuite environment and leave it running
* `make install-PRESET` - build the service and install it in directory set in environment `PREFIX`
* `make` or `make all` - build and run all tests in `debug` and `release` modes
* `make format` - reformat all C++ and Python sources
* `make dist-clean` - clean build files and cmake cache
* `make docker-COMMAND` - run `make COMMAND` in docker environment
* `make docker-clean-data` - stop docker containers and clean database data## License
The original template is distributed under the [Apache-2.0 License](https://github.com/userver-framework/userver/blob/develop/LICENSE)
and [CLA](https://github.com/userver-framework/userver/blob/develop/CONTRIBUTING.md). Services based on the template may change
the license and CLA.