GitHub - oatpp/example-crud: A complete example of a "CRUD" service (UserService) built with Oat++. (original) (raw)

Skip to content

Sign in

Appearance settings

View all features

View all solutions

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Sign in

Sign up

Appearance settings

oatpp / example-crud Public

A complete example of a "CRUD" service (UserService) built with Oat++.

oatpp.io/

License

Apache-2.0 license

119 stars 65 forks Branches Tags Activity

Star

Notifications You must be signed in to change notification settings

Additional navigation options

BranchesTags

Folders and files

Name Name Last commit message Last commit date
Latest commitHistory88 Commits
sql sql
src src
test test
utility utility
.dockerignore .dockerignore
.gitignore .gitignore
CMakeLists.txt CMakeLists.txt
Dockerfile Dockerfile
LICENSE LICENSE
README.md README.md
azure-pipelines.yml azure-pipelines.yml

Repository files navigation

Example-CRUD Build Status

A complete example of a "CRUD" service (UserService) built with Oat++.

In this example:

More about Oat++:

Overview

This project is using the following oatpp modules:

Project layout

|- CMakeLists.txt                        // projects CMakeLists.txt
|- sql/                                  // SQL migration scripts for SQLite database
|- src/
|   |
|   |- controller/                       // Folder containing REST Controllers (UserController)
|   |- db/                               // Folder containing the database client
|   |- dto/                              // DTOs are declared here
|   |- service/                          // Service business logic classes (UserService)
|   |- AppComponent.hpp                  // Service config
|   |- DatabaseComponent.hpp             // Database config
|   |- SwaggerComponent.hpp              // Swagger-UI config
|   |- App.cpp                           // main() is here
|
|- test/                                 // test folder
|- utility/install-oatpp-modules.sh      // utility script to install required oatpp-modules.

Build and Run

Using CMake

Pre Requirements

Note: You may run utility/install-oatpp-modules.sh script to install required oatpp modules.

Build Project

$ mkdir build && cd build
$ cmake ..
$ make 
$ ./crud-exe        # - run application.

In Docker

$ docker build -t example-crud .
$ docker run -p 8000:8000 -t example-crud

Endpoints

HTML

HTTP Method URL Description
GET http://localhost:8000/ Root page
GET http://localhost:8000/swagger/ui Swagger UI page

User Service

HTTP Method URL Description
POST http://localhost:8000/users Create new User
PUT http://localhost:8000/users/{userId} Update User by ID
GET http://localhost:8000/users/{userId} Get User by ID
DELETE http://localhost:8000/users/{userId} Delete User by ID
GET http://localhost:8000/users/offset/{offset}/limit/{limit} Get All Users with Paging

About

A complete example of a "CRUD" service (UserService) built with Oat++.

oatpp.io/

Topics

orm cpp swagger-ui sqlite3 crud-api oatpp

Resources

Readme

License

Apache-2.0 license

Activity

Custom properties

Stars

119 stars

Watchers

6 watching

Forks

65 forks

Report repository

Releases13

1.3.0-latest Latest Apr 21, 2024

+ 12 releases

Packages

No packages published

Contributors5

Languages