Code Monkey home page Code Monkey logo

backend's Introduction

README

Table Of Contents

Repo tree

com/zbq/                 # Implementation of global cache and message queue
├── ACTFEvent.java
├── EventType.java
├── GlobalEventQueue.java
├── GlobalVariables.java
└── VWFEvent.java

supplychain/activiti     # Closely related to the activiti engine our bussiness process execution.
├── conf                 # Java configuration files including configuring activiti engine and web context.
│   ├── ActivitiEngineConfiguration.java
│   ├── AsyncConfiguration.java
│   ├── Bootstrapper.java
│   ├── ContentStorageConfiguration.java
│   ├── CustomSecurityConfig.java
│   ├── DatabaseConfiguration.java
│   ├── EmailConfiguration.java
│   ├── JacksonConfiguration.java
│   ├── MyApplicationConfiguration.java
│   ├── MyCorsRegistration.java
│   ├── RestApiConfiguration.java
│   ├── RestTemplateConfiguration.java
│   └── SchedulingConfiguration.java
├── coord              # Impletation of 4 Coordinator Service , among them , VWC is the most complex one.
│   ├── MSCoordinator.java
│   ├── SWCoordinator.java
│   ├── VMCoordinator.java
│   └── VWCoordinator.java
├── listener           # Some of the exection/task listeners set in process model.
│   ├── AnchorStartListener.java
│   ├── DockTaskEndListener.java
│   ├── FlowIntoVoyaListener.java
│   ├── InitListener.java
│   ├── InitWeagonListener.java
│   ├── RunEndListener.java
│   ├── RunListener.java
│   ├── SendArraInfoToSWC.java
│   ├── SendMsgToVWC.java
│   ├── SendOrderToMSC.java
│   ├── VoyagingListener.java
│   └── VoyaTaskStartListener.java
├── rest
│   └── service
│       └── api       # Some convertors between custom type defined by myself and RestVariable Type build in engine.
│           ├── CustomActivitiTaskActionService.java
│           ├── CustomArrayListRestVariableConverter.java
│           ├── CustomBaseExcutionVariableResource.java
│           ├── CustomBaseVariableCollectionResource.java
│           ├── CustomDateRestVariableConverter.java
│           ├── CustomRestResponseFactory.java
│           ├── LocationRestVariableConverter.java
│           ├── VPortRestVariableConverter.java
│           ├── WeagonRestVariableConverter.java
│           └── WPortRestVariableConverter.java
├── service          # Some JavaDelegate Class bound to Service Task in process.
│   ├── CustomActivitiTaskFormService.java
│   ├── SendApplyToVMCService.java
│   ├── SendMsgToAWSService.java
│   ├── SendMsgToWVCService.java
│   ├── UpdateVesselInfoService.java
│   └── UpdateWeagonInfoService.java
└── servlet         # About other web configuration 
    ├── MyApiDispatcherServletConfiguration.java   #servlet dispatcher for url pattern /api/*
    ├── MyCorsFilter.java        # used to solve CORS problem.
    ├── MyWebConfigurer.java     # configure two servlet dispatcher , respectively for '/api/*' and '/app/*'.
    ├── SystemWebSocketHandler.java     # websocket haven't been used , you can ignore them.
    └── WebsocketHandshakeInterceptor.java

supplychain/web/        # Implementation of REST interfaces to provide endpoints to front-end or AWS to access.
├── AbstractController.java
├── CoordController.java
├── ProcessInstancesResource.java
├── TaskController.java
├── TaskFormResource.java
├── VesselController.java
└── VesselProcessInstanceVariableDataResource.java

supplychain/entity/     # Some custom Types for process model.
├── IotVessel.java
├── Location.java
├── Path.java
├── VesselVariablesResponse.java
├── VPort.java
├── Weagon.java
└── WPort.java

Video

Demo video

Run in Intellij IDEA

  1. Download development tool:

    IDE: Intellij IDEA

    Web Container: Tomcat

    Database: MYSQL

  2. Clone Source Code:

    git clone --recursive [email protected]:sonnyhcl/Backend.git

  3. Import Project in IDEA:

    • Choose Import Project. import

    • Choose the directory path which you clone the source code

    • Choose import project from external model maven

    • Pass select profiles

    • Pass select maven projects to import.

    • Carefully choose project JDK

    • Finish

    • Wait for IDEA to download maven dependencies

  4. Configure Mysql

    First make sure you have installed mysql and your mysql has a empty database called act6

    Or you can edit your own mysql databasename/username/password in activiti-app.properties

  5. Configure Tomcat:

    • Click Run run_idea

    • Edit Run Configuration

    • Click the plus in left-up corner

    • Choose Tomcat Server

    • Choose local

    • Configure tomcat in idea tomcat_idea

    • Configure artifact artifact

    • Configure application-context: /activiti-app application-context

  6. Run Activiti

    Run Activiti and visit https://localhost:8080/activiti-app in the browser

    username: admin
    password: test
    

    activiti

  7. Import bpmn:

    After running the project and logging in the system , upload process models under the root directory src/main/resources, such as Supply_Chain_pool.bpmn, Weagon_Test.bpmn, then create app for it and publish your app, then go to processes page to start the selected process. import process

Run in Spring Tool Suite

  1. Download development tool:

    IDE: Spring-Tool-Suite-3.9.0.RELEASE

    Web Container: Tomcat

    Database: Mysql

  2. Clone Source Code:

    git clone --recursive [email protected]:sonnyhcl/Backend.git

  3. Import Project:

    To import Backend as a Maven project in IDEA, follow the steps below : File -> Import -> Maven -> Existing Maven Projects -> Select Root Directory -> Finish import

  4. Update Maven Dependencies:

    Right click the project name activiti-app, then enter -> Maven -> Update Project, waiting to load dependencies. maven

  5. Configure Tomcat:

    After loading is completed, right-click the project name, followed by Run As -> Run On Server -> choose Tomcat Server -> Finish.

    runas

    runas

  6. Configure Mysql

    First make sure you have installed mysql. You can edit your own mysql databasename/username/password in activiti-app.properties

  7. Run Activiti

    Visit https://localhost:8080/activiti-app in the browser, enter the login page,

    username: admin
    password: test
    

    activiti

  8. Develop:

    After running the project and logging in the system , upload process models under the root directory src/main/resources, such as Supply_Chain_pool.bpmn20.xml, then create app for it and publish your app, then go to processes page to start the selected process. import process

Dependencies

  • Vessel Frontend

    Attention: In order to perform as demo shows, The Activiti Backend project must be coordinated with the Vessel Frontend project.

backend's People

Contributors

i-qiqi avatar sonnyhcl avatar leoneleven avatar

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.