{"id":25444032,"url":"https://github.com/dangi-ai/omnicuris-technical-assignment-e-commerce","last_synced_at":"2026-04-13T19:31:23.260Z","repository":{"id":91047092,"uuid":"256859881","full_name":"dangi-ai/omnicuris-technical-assignment-e-commerce","owner":"dangi-ai","description":"1.    CRUD operations on items 2.    All items listing 3.    Single \u0026 bulk ordering (Just consider the item, no. of items \u0026 email ids as params for ordering) 4.    All orders  Please consider all the cases like out of stock etc. while making the application. You can also add more features/APIs as suitable for you.","archived":false,"fork":false,"pushed_at":"2024-08-26T17:41:14.000Z","size":74,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-27T12:34:37.179Z","etag":null,"topics":["assignment","git","github","java","java11","lombok","maven","mysql","postman","rest-api","restful-api","spring","spring-boot","spring-boot-2","spring-framework","springboot","swagger","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":"TSQL","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/dangi-ai.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":"2020-04-18T21:50:13.000Z","updated_at":"2020-04-19T09:57:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d74b2c1-4ddf-4b18-a2a4-6915a4f4de2e","html_url":"https://github.com/dangi-ai/omnicuris-technical-assignment-e-commerce","commit_stats":null,"previous_names":["finnozo/omnicuris-technical-assignment-e-commerce","dangi-ai/omnicuris-technical-assignment-e-commerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dangi-ai/omnicuris-technical-assignment-e-commerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dangi-ai%2Fomnicuris-technical-assignment-e-commerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dangi-ai%2Fomnicuris-technical-assignment-e-commerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dangi-ai%2Fomnicuris-technical-assignment-e-commerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dangi-ai%2Fomnicuris-technical-assignment-e-commerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dangi-ai","download_url":"https://codeload.github.com/dangi-ai/omnicuris-technical-assignment-e-commerce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dangi-ai%2Fomnicuris-technical-assignment-e-commerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31768635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["assignment","git","github","java","java11","lombok","maven","mysql","postman","rest-api","restful-api","spring","spring-boot","spring-boot-2","spring-framework","springboot","swagger","swagger-ui"],"created_at":"2025-02-17T15:18:24.370Z","updated_at":"2026-04-13T19:31:23.241Z","avatar_url":"https://github.com/dangi-ai.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Omnicuris Technical Assignment E-commerce Application\n\n[![Build Status](https://travis-ci.org/codecentric/springboot-sample-app.svg?branch=master)](https://travis-ci.org/codecentric/springboot-sample-app)\n[![Coverage Status](https://coveralls.io/repos/github/codecentric/springboot-sample-app/badge.svg?branch=master)](https://coveralls.io/github/codecentric/springboot-sample-app?branch=master)\n[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\nMinimal [Spring Boot](http://projects.spring.io/spring-boot/) sample app.\n\n## Requirements\n\nFor building and running the application you need:\n\n- [JDK 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)\n- [Maven 3](https://maven.apache.org)\n\n## Built With\n  * [Maven](https://maven.apache.org/) - Dependency Management\n  * [JDK](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) - Java™ Platform, Standard Edition Development Kit\n  * [Spring Boot](https://spring.io/projects/spring-boot) - Framework to ease the bootstrapping and development of new Spring Applications\n  * [MySQL](https://www.mysql.com/) - Open-Source Relational Database Management System\n  * [git](https://git-scm.com/) - Free and Open-Source distributed version control system\n  * [Lombok](https://projectlombok.org/) - Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.\n  * [Swagger](https://swagger.io/) - Open-Source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services.\n\n## External Tools Used\n\n* [Postman](https://www.getpostman.com/) - API Development Environment (Testing Docmentation)\n\n## To-Do\n- [x] RESTful Web Service (CRUD)\n- [x] MySQL (Connect to Single Schemas)\n\n# Runnig this project \n  1. Clone this project https://github.com/sushildangi/omnicuris-technical-assignment-e-commerce.git\n  2. create databases schema in mysql - **assignment-ecommerce**\n  3. edit/change **username** and **password** in **applicaton.properties** file\n  4. Run this Query in mysql\n  \n  ```sql \n    CREATE TABLE `items` (\n      `id` bigint(20) NOT NULL AUTO_INCREMENT,\n      `active` bit(1) DEFAULT NULL,\n      `date_created` datetime(6) NOT NULL,\n      `last_updated` datetime(6) DEFAULT NULL,\n      `description` varchar(255) DEFAULT NULL,\n      `image_url` varchar(255) DEFAULT NULL,\n      `name` varchar(255) DEFAULT NULL,\n      `sku` varchar(255) DEFAULT NULL,\n      `unit_price` decimal(19,2) DEFAULT NULL,\n      `units_in_stock` int(11) DEFAULT NULL,\n      PRIMARY KEY (`id`)\n    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;\n\n  ```\n\n   ```sql \n    CREATE TABLE `orders` (\n      `id` bigint(20) NOT NULL AUTO_INCREMENT,\n      `active` bit(1) DEFAULT NULL,\n      `date_created` datetime(6) NOT NULL,\n      `last_updated` datetime(6) DEFAULT NULL,\n      `email_id` varchar(255) NOT NULL,\n      `item_id` bigint(20) NOT NULL,\n      `number_of_items` int(11) NOT NULL,\n      PRIMARY KEY (`id`)\n    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;\n\n  ```\n  5. Insert Sample data in items table\n  \n  ```sql \n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1001', 'Become a Guru in JavaScript', 'Learn JavaScript at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1001.png', 1, 100, 20.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1002', 'Exploring Vue.js', 'Learn Vue.js at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1002.png', 1, 100, 14.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1003', 'Advanced Techniques in Big Data', 'Learn Big Data at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1003.png', 1, 100, 13.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1004', 'Crash Course in Big Data', 'Learn Big Data at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1004.png', 1, 100, 18.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1005', 'JavaScript Cookbook', 'Learn JavaScript at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1005.png', 1, 100, 23.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1006', 'Beginners Guide to SQL', 'Learn SQL at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1006.png', 1, 100, 14.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1007', 'Advanced Techniques in JavaScript', 'Learn JavaScript at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1007.png', 1, 100, 16.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1008', 'Introduction to Spring Boot', 'Learn Spring Boot at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1008.png', 1, 100, 25.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1009', 'Become a Guru in React.js', 'Learn React.js at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1009.png', 1, 100, 23.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1010', 'Beginners Guide to Data Science', 'Learn Data Science at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1010.png', 1, 100, 24.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1011', 'Advanced Techniques in Java', 'Learn Java at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1011.png', 1, 100, 19.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1012', 'Exploring DevOps', 'Learn DevOps at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1012.png', 1, 100, 24.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1013', 'The Expert Guide to SQL', 'Learn SQL at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1013.png', 1, 100, 19.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1014', 'Introduction to SQL', 'Learn SQL at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1014.png', 1, 100, 22.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1015', 'The Expert Guide to JavaScript', 'Learn JavaScript at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1015.png', 1, 100, 22.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1016', 'Exploring React.js', 'Learn React.js at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1016.png', 1, 100, 27.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1017', 'Advanced Techniques in React.js', 'Learn React.js at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1017.png', 1, 100, 13.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1018', 'Introduction to C#', 'Learn C# at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1018.png', 1, 100, 26.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1019', 'Crash Course in JavaScript', 'Learn JavaScript at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1019.png', 1, 100, 13.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1020', 'Introduction to Machine Learning', 'Learn Machine Learning at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1020.png', 1, 100, 19.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1021', 'Become a Guru in Java', 'Learn Java at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1021.png', 1, 100, 18.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1022', 'Introduction to Python', 'Learn Python at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1022.png', 1, 100, 26.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1023', 'Advanced Techniques in C#', 'Learn C# at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1023.png', 1, 100, 22.99, NOW());\n      INSERT INTO items (SKU, NAME, DESCRIPTION, IMAGE_URL, ACTIVE, UNITS_IN_STOCK, UNIT_PRICE,DATE_CREATED) VALUES ('BOOK-TECH-1024', 'The Expert Guide to Machine Learning', 'Learn Machine Learning at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!', 'assets/images/itemss/books/book-luv2code-1024.png', 1, 100, 16.99, NOW());\n\n  ```\n  \n  6. Run Project One time using Spring boot command - **mvn spring-boot:run** or using eclipse IDE run as Java Application\n  \n  ### Items URLs\n\n|  URL |  Method | Remarks |\n|----------|--------------|--------------|\n|`http://localhost:8080/api/items`                               | GET    | List of all items|\n|`http://localhost:8080/api/items/1`                             | GET    | Get Single Item|\n|`http://localhost:8080//api/items`                              | POST   | Create new Item|\n|`http://localhost:8080/api/items`                               | PUT    | Update existing Item|\n|`http://localhost:8080/api/items/1`                             | DELETE | Delete existing Item|\n\n  ### Order URLs\n\n|  URL |  Method | Remarks |\n|----------|--------------|--------------|\n|`http://localhost:8080/api/order`                               | GET    | List of all order|\n|`http://localhost:8080/api/order/test@gmail.com`                | GET    | List all order of paticular email id|\n|`http://localhost:8080//api/order`                              | POST   | Create Single order|\n|`http://localhost:8080/api/order/orders`                        | POST   | Create Bulk order |\n\n## Swagger UI URL\n\n|  URL |  Method | Remarks |\n|----------|--------------|--------------|\n|`http://localhost:8080/swagger-ui.html#/`                               | GET    | List of API|\n\n## packages\n\n- `models` — to hold our entities;\n- `repositories` — to communicate with the database;\n- `services` — to hold our business logic;\n- `controllers` — to listen to the client;\n\n- `resources/` - Contains all the static resources, templates and property files.\n- `resources/static` - contains static resources such as css, js and images.\n- `resources/templates` - contains server-side templates which are rendered by Spring.\n- `resources/application.properties` - It contains application-wide properties. Spring reads the properties defined in this file to configure your application. You can define server’s default port, server’s context path, database URLs etc, in this file.\n\n- `test/` - contains unit and integration tests\n\n- `pom.xml` - contains all the project dependencies\n\n  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdangi-ai%2Fomnicuris-technical-assignment-e-commerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdangi-ai%2Fomnicuris-technical-assignment-e-commerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdangi-ai%2Fomnicuris-technical-assignment-e-commerce/lists"}