Skip to content

The developed application allows generating an imitation of a store check with list of products. The input data is a set of parameters as product id and its quantity, plus discount card number. Result of working application is printed bill to console or to a file.

License

Notifications You must be signed in to change notification settings

Petrovich-A/Bill-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 

Repository files navigation

logo

Bill generator app

An awesome test task special for Clever Technology!

Coveralls AppVeyor tests (branch) GitHub last commit Packagist Stars GitHub GitHub commit activity


📔 Table of Contents

🌟 About the Project

The developed application allows to generate an imitation of a store receipt (bill) with goods. The input data takes a set of parameters in the format (itemId is the identifier of the product, quantity is its quantity. For example: 3-1, 2-5, 5-1. Card-1234 is also passed. Card-1234 means that a discount card with number 1234 has been found. As a result of the application's operation, the generated receipt is print in console or to a file.

👾 Tech Stack

Client
Database
DevOps

🧰 Getting Started

🧪 Running Tests

To run tests, run the following command

  yarn test test

🏃 Run Locally

Clone the project

  git clone https://github.com/Petrovich-A/Bill-generator

Install dependencies

  gradle --refresh-dependencies

🧭 Roadmap

  • Among the goods, provide for promotional ones. If there are more than five of them in the bill, then make a 10% discount on this position. Show this information on your bill.
  • Implement exception handling (for example, product with id or file does not exist, etc.).
  • Implement bill output to a file.
  • Describe the project in the README.md file (the stack is used, the run instructions).
  • Use the gradle project builder.
  • Place the source code of the project in any of the public repositories (bitbucket, github, gitlab).
  • Organize reading of initial data (products and discount cards, the format is the same) from files (in this case, you can pass the file name to the java command parameter set).
  • Cover the code with unit tests (at least 70%).
  • * Replace storage of source data in files with PostgreSQL; make 2 tables (product and discount_card); Operation DDL must be stored in src/main/resources in a file with .sql extension; store the database connection settings in application.properties.
  • ** Implement a RESTFUL interface (Servlet, Spring) (for example, receive a bill via GET http://localhost:8080/bill?itemId=1&itemId=1).
  • *** Deploy the application and PostgreSQL in Docker Expand the functionality at your discretion.

⚠️ License

Distributed under the no License. See LICENSE for more information.

🤝 Contact

Petrovich Alexandr - linkedin - a.piatrovich@gmail.com

Project link: Bill-generator

💎 Acknowledgements

About

The developed application allows generating an imitation of a store check with list of products. The input data is a set of parameters as product id and its quantity, plus discount card number. Result of working application is printed bill to console or to a file.

Topics

Resources

License

Stars

Watchers

Forks

Languages