๐ Test task - Receipt API
Table of Contents
-
Task Description
-
Getting Started
-
API Usage
-
Demo
Database |
|
Backend |
|
Build Tool |
|
PaaS |
|
API already deployed on PaaS Heroku:
https://clevertec-test-task.herokuapp.com
git clone https://github.com/IvanHayel/clevertec-test-task.git
๐ฆ Local Startup with Gradle
Java version 17+ is required.
git clone https://github.com/IvanHayel/clevertec-test-task.git
Example:
CREATE DATABASE "clevertec-api"
WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'English_World.1252'
LC_CTYPE = 'English_World.1252'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
- Set up environment variables
DB_URL - JDBC url for Postgres database.
DB_USERNAME - database username
DB_PASSWORD - database password
gradle clean build bootRun
You can also use the gradle wrapper: ./gradlew
HTTP METHOD |
URL |
QUERY PARAMETERS |
TEMPLATE |
DESCRIPTION |
GET |
/api/v1/products |
none |
none |
Getting all Products . |
GET |
/api/v1/products/{id} |
none |
none |
Getting Product by id. |
GET |
/api/v1/products/search |
term : {any} - required |
none |
Full text search for all Products . |
POST |
/api/v1/products |
none |
|
Creating a new Product . |
PUT |
/api/v1/products |
none |
|
Updating existing Product . |
DELETE |
/api/v1/products/{id} |
none |
none |
Deleting Product by id. |
HTTP METHOD |
URL |
QUERY PARAMETERS |
TEMPLATE |
DESCRIPTION |
GET |
/api/v1/cards |
none |
none |
Getting all Discount Cards . |
GET |
/api/v1/cards/{id} |
none |
none |
Getting Discount Card by id. |
POST |
/api/v1/cards |
none |
|
Creating a new Discount Card . |
PUT |
/api/v1/cards |
none |
|
Updating existing Discount Card . |
DELETE |
/api/v1/cards/{id} |
none |
none |
Deleting Discount Card by id. |
HTTP METHOD |
URL |
QUERY PARAMETERS |
TEMPLATE |
DESCRIPTION |
GET |
/api/v1/receipts |
none |
none |
Getting all Receipts . |
GET |
/api/v1/receipts/{id} |
none |
none |
Getting Receipt by id. |
GET |
/api/v1/receipts/search |
term : {any} - required |
none |
Full text search for all Receipts . |
GET |
/api/v1/receipts/download/{id} |
none |
none |
Download existing Receipt in PDF format. |
POST |
/api/v1/receipts |
none |
|
Creating a new Receipt . |
PUT |
/api/v1/receipts |
none |
|
Updating existing Receipt . |
DELETE |
/api/v1/receipts/{id} |
none |
none |
Deleting Receipt by id. |
Insomnia used for demonstration.
Products full text search
Receipts full text search