Publish Platform

  • Posted:
  • Proposals: 2
  • Remote
  • #692395
  • Awarded
Ace I.Wayn T. have already sent a proposal.
  • 1

Description

Experience Level: Expert
General information for the business: SaS
Kind of development: New program from scratch
Num. of modules: 1
Description of requirements/functionality: Dear Developer,

Please, open the file attached to read all the project's requirement.

If you have any trouble to open the file, check the description below:

** Business Rule

It's a feature that will be used to post updates of procedures, such as manuals, laws, Internal Rules, Scripts, etc.

It will work as a platform to discussion of the topic through chat and after it was concluded all the post becomes a documentation with all comments held, attached documents and all the unified discussion stored in a single document that will be published.

With this platform the User will be able to call meeting to discuss the subject, ask read's confirmation to make sure that the post was read by all, and at this stage if anyone has any question is possible to open discussion of the subject through chat.

There are more details in the attached file.

** Non-Functional Requirements

1 Source-Code Project Compliance:
1.1. The source code project must be a Vaadin 7 project created from a maven 3 archetype: "vaadin-archetype-application"
1.2. The project must follow a MVP (Model - View - Presenter) pattern
1.3. The chosen DBMS is Postgres 9.3+
1.4. The chosen JPA implementation is EclipseLink 2.5.1
1.5. Will be provided in GitHub a reference project called "Gestor" which can be used as a base project

2 Other Source Code Project's Technical Requirements:
2.1. All string constant must be internationalized.
2.2. The packages structure must starts with: com.saax.gestor
2.3. The database connection must follow a "one-entitymanager-per-request" pattern (as seen on the reference project)

2.4. Exception Handling:
2.4.1. All server side exception must be logged
2.4.2. Do not let checked exceptions escalate to the higher layers. All checked exception on server side (e.g.: SQLException) must be converted to an unchecked exception
2.4.3. Never print the StackTrace on output
2.4.4. Avoid throw generic exceptions (Exception, RuntimeException, Error, Throwable)

2.5. User Interfaces:
2.5.1. All required user interface input field must be validated (suggested: Vaadin BeanValidator)
2.5.2. All CRUD user interface must be binded with the EntityBean using BeanItem<> and FieldGroup

2.6. Entity Beans:
2.6.1. All entity beans must have pre defined NameQuerys for all field.
2.6.2. All entity beans must have an primary key ID field with generated type Identity: @GeneratedValue(strategy = GenerationType.IDENTITY)
2.6.3. All relationship between entities must be defined using appropriate JPA Annotations
2.6.4. All entity beans must be in compliance with the chosen DBMS (Postgres 9.3+) and the chosen JPA implementation (EclipseLink)
2.6.5. All entity must have an field with the inserted/updated timestamp

3. Documentation:
3.1. All public method must have JavaDoc documentation

4. Testability:
4.1. All server side method must be unit-tested (Junit or similar)
4.2. All user interface must be unit-tested (Selenium or vaadin test-bench)
Specific technologies required: java, vaadin7, maven
Extra notes:

New Proposal

Create an account now and send a proposal now to get this job.

Sign up

Clarification Board Ask a Question

    There are no clarification messages.