General

Enthusiasm for technology as well as a passion for software development resulted in the emergence of a product based on state-of-the-art technologies, which will be improved continuously.

Supported browsers

ProjectForge is mainly developed under FireFox and Apple Safari. Please refer the following table to see the status of browser interoperability of the current release:

Browser Score Description
Apple Safari ++ Well tested, works fine.
Chrome ++ Well tested, works fine.
Firefox ++ Well tested, works fine.
Microsoft IE + Quickly tested, seems to work (since ProjectForge's migration to Bootstrap).

Professional architecture and CI (continuous integration)

ProjectForge is based on a modern and professional software architecture which is commonly used in theindustry. A professional roles and right management assures that every user can only see and use those data for which he has all the required rights and roles for.
The high quality and reliability of ProjectForge base, last but not least, on a lot of automatically test cases. The more than 250 test cases are running daily, there are part of a professional CI-system (continuous integration). 
A high value of data integrity and security is therefore assured.

Rapid Application Development Approach (RAD)

ProjectForge is characterized by a rapid application development approach.

This means:

  1. Write the entity as Java beans and define the data base mapping with annotations (JPA)
  2. Write simple html pages (Wicket)
  3. Write the business logic in Java (not in jsp or something comparable)
  4. Derive ui classes (list and edit forms) from the base classes.
  5. Derive data access objects from the base objects (security, access management, persistancy).

The mission:
Develop entities of new functionalities with lists and edit screens in just a few hours!

  1. Secure access checking
  2. Fully indexed (search)
  3. History of every user's modifications
  4. Full data base support
  5. Support of object oriented html pages and components (powered by Wicket)!

An established developer should focus on the essentials!

The only way to achieve improvement is the usage of Scala with Wicket (this will be the next generation of development)...

Technological requirements for the ProjectForge server

Java 8 (OpenJDK may not work), PostgreSQL (optional), Linux, Mac OS X, Windows.

Technologies

Technology Usage
Java 8 Base technology (OpenJDK may not work)
Ajax Used for auto-completion of form input fields and flicker-less browsing. User-specific favorites supports the user for faster access.
Hibernate / MGC Persisting framework O2R, R2O, JPA 2
Spring Boot Application
Wicket Web framework
FOP For the creation of PDFs, e. g. the user time sheets, monthly employee reports etc.
jquery.mobile Framework for developing web pages optimized for mobile devices.
TestNG Test framework
Jenkins CI - continouos integration system
Groovy Used for scripting ProjectForge for reports (MS Excel exports, charting etc.) as well as for e-mail templating (see AdministrationGuide for further information).
Jasperreports For generating reports.
JFreeChart For internal graphics and diagrams as well as for usage in the groovy scriptlets by the users, e. g. for reports.
Maven3 Building system, testing, staging and Jar-management.
Powermock For using mock objects in JUnit-tests
MPXJ For exporting MS-Project plans: MPXJ home page
POI For the creation and manipulation of Excel files (also supported in the user scripts).
SVG (batik) For drawing Gantt diagrams
Java FX For the server's standalone version