Sample exercises

  1. Installation manual
  2. Building MES from source code - tutorial
  3. Plugin developement
  4. Our coding conventions
  5. Javadoc
  6. Github repository

Before you start

  1. Fork https://github.com/qcadoo/mes/
    create branch from master
    git checkout -b recruitment
  2. Change hotDeploy=false in file: mes/mes-application/conf/tomcat/app.properties 
  3. Read the comments below

Assignment

  1. Add new model purchase to plugin basic with fields:
    • product - product from basic plugin,
    • quantity - quantity of product,
    • price - price of product,
    • date - date with time.
  2. Add validator which would check if product price is > 0.
  3. Add validator which would check if product quantity is > 0.
  4. Add validator which would check if there is no purchase with the same product and price.
  5. Add views for that model with list and add/edit details.
  6. (OPTIONAL) Add hooks which would set product unit
    1. add disabled input field next to quantity field in purchase details view
    2. when product changes, this field also should be updated.
  7. Add button to ribbon in purchases list or details which will count average price of all purchases or average price of product. The result can be presented in any way (for example as a simple popup or field on the view).
  8. (OPTIONAL) Prepare additional functionality with simple dictionary and two fields: input and output. While the user enters input text, the application rewrites it, and mark words found in the dictionary.
    Requirements:
    * prepare a separate subpage (you can use component: staticPage)
    * allowed words can be stored in an external file or served by the controller in any format
    * use pure java script or jQuery