Code Monkey home page Code Monkey logo

wmpm's Introduction

πŸš— SmartCar inc.

The purpose of this project is to create the connection between different departments of the company β€œSmartCar inc.”. The main business of the company β€œSmartCar inc.” is car production. The firm has five departments (sales, finance, accounting, production and stock), which are strongly interconnected. All processes of buying and getting information about the production execution are supported by web application.

Tutor: contact Christian Ohrfandl in case of fire πŸ”₯

Organisational Headlines
πŸ“‚ Project Folder πŸ“„ BPMN
πŸ• Time tracking πŸ“¦ How to run
βœ… Task List 🚩 Process Description

BPMN

BPMN

How to run

  1. copy git repo to your local machine using a git client of your choice (https://github.com/mathck/wmpm.git)
  2. where the pom.xml file is located run "mvn clean install" (install maven)
  3. open project with any Java IDE of your choice (IntelliJ, Eclipse, ...)
  4. define the run configuration: Java Application, main class: SmartCarApp
  5. Press ▢️ RUN!

Process Description

Process carOrder

Starting condition: Order has been received Result: Order has been logged in the system, customer is informed on carOrder retrieval and payment is initialized Process: Order information is extracted from the carOrder and stored in customer database. According to carOrder information, check for financial solvency is initialized or advance payment is initialized.

Check for financial solvency

Starting condition: Message including customer information (Name, Address, Birthdate) as well as amount of money Result: Positive or negative solvency check. Process: Using several interfaces, relevant data for the solvency check will be received. During the consolidation process, decision on the solvency will be based on a predefined ruleset and fed back to the main process.

Query stock of machine elements

Starting condition: The processor will receive the carOrder message after initial payment was completed Result:Required machine elements will be ordered if necessary or reserved for production Process: The information on the product ordered is extracted from the message and the database is queried for required parts in the production table. Availability of parts is checked in the database. If not enough parts are available, the ordering system is messaged. Otherwise, the production process is notified that production of the carOrder can start right away..

Order Elements

Starting condition: Receive message containing missing parts Result: Missing parts are ordered and production can be scheduled according to scheduled delivery date Process: Extract information on required parts, notify production facility using a SOAP interface, retrieve information on scheduled delivery date. Forward information to plan production processor.

Plan Production

Starting conditions: Processor receives message containing the exact carOrder. All machine elements have been reserved for production prior to message dispatch. Result: Production process is scheduled. Finalize carOrder node will be notified once production is completed Process: Extract carOrder information. Schedule machine time using a FIFO approach. Send expected delivery date to finalize carOrder node.

Finalize Order

Starting condition: Production finished an carOrder Result: Payment will be requested. If successful, carOrder will be dispatched Process: Information on finished orders is received from production planning node. Payment will be requested using SOAP interface of invoice department.If successful, carOrder will be dispatched.

Inform customer

Starting condition: Any component sends a message to the processor consisting of message body and receiver. Result: Consumer will receive an email consisting of the relevant mail. Process: Extract information on message body and recipient from message. Retrieve mail address from user database. Create and dispatch mail using SMTP.

wmpm's People

Contributors

kocmana avatar maland89 avatar mathck avatar ppatsuk avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wmpm's Issues

Process Order

Assign unique order ID, set header "creditNeeded" to true or false

Accept 30% payment

Payment is received (either by using mock SOAP/Rest Interface or timer and probability function)

WaitForPayment

Message is stored in Queue and sent forward to Accept 30% Payment all 10 seconds until payment is received

Apache Log

  • Read into Apache Log and Apache LogEIP
  • replace old logging with new Apache logging

optional:

  • if possible create a new file for each new run of the application

Hand in the Final Artifact

TUWEL Link
Please hand in all of your created artifacts (including time-sheets, project proposal and source code of your project and a short README including a link to your versioning system and a short introduction on how to run and interact with your system) as ZIP archive unitl 22th of June (23:55)

Please include the following artifacts within your ZIP archive:

  • Project proposal as PDF
  • Time-Sheet of your working hours on the project as PDF
  • Source-Code of the project
  • README containing the URI of your versioning system (Github, ...) and an explanation on how to get your project to work and how to interact with the system

CreditDecision

Forward to correct bean (Check financial solvency or Accept 30% Payment), forward to Inform Customer

Use not string in jms:queue

if you need to pull db entity into jms, you need firstly convert it to string on the side "from" than on the side "to" convert it back to the entity. If you don't do it, you will have null body on the end of the route. I've implemented it.

Accept Credit

Exchange is forwarded to Inform Customer and to Accept 30% Payment if creditAccepted is true

Accept 70% of Payment

see Accept 30 % payment (reuse of Bean?) - Payment is received (either by using mock SOAP/Rest Interface or timer and probability function)

QueryStockBean, OrderElementsBean

  • dont do this exchange.getOut().setHeader("enoughElements", random.nextBoolean());
  • in OrderElementsBean, why are you not accessing the database to actually order the elements, or something else

Provide Installation Guide Solr

Installation Guide to install Windows Services for Apache Solr + Zip folder containing 2 Apache Solr nodes, 3 Apache Zookeeper nodes and the tool NSSM to install the windows services.

This configuration only works on windows machines!

Provide SoapUI Project

Everyone has to run a SoapUI instance with the provided SoapUI Project.
The SoapUI Project is used to mock the external datasource soap requests.

A guide how to use it will be provided here.

Refactor code

I will go through the code and check that everything is implemented in a clean fassion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.