OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/frontend/doc/OVERVIEW.md

2.5 KiB

Development overview

This should give an idea about the contents of the ./frontend folder. Most of what you find here is an amalgamation of AngularJS and JQuery, as well as a good list of libraries used to ease the process of development.

This is the general structure (to a depth of 3 folders):

├── app
│   ├── api
│   ├── assets
│   ├── config
│   ├── helpers
│   ├── layout
│     └── controllers
│   ├── messages
│     └── controllers
│   ├── misc
│   ├── models
│   ├── services
│   ├── templates
│     ├── components
│     ├── layout
│     ├── timelines
│     └── work_packages
│   ├── time_entries
│     └── controllers
│   ├── timelines
│     ├── controllers
│     ├── directives
│     ├── helpers
│     ├── models
│     └── services
│   ├── ui_components
│     ├── date
│     └── filters
│   └── work_packages
│       ├── config
│       ├── controllers
│       ├── directives
│       ├── filters
│       ├── helpers
│       ├── models
│       ├── services
│       ├── tabs
│       └── view_models
├── doc
├── public
│   └── assets
│       └── css
├── scripts
└── tests
    ├── integration
      ├── mocks
      ├── pages
      └── specs
    └── unit
        ├── factories
        ├── lib
        ├── mocks
        ├── reports
        └── tests

The app folder

This is where most of the magic happens. Contains all of the production relevant code for excuting the individual parts of the frontend. Does not contain the test code.

The app folder is furthermore divided into:

  • work_packages contains all the specific sources for the Work Package list and the attached details pane, as well as the full screen view
  • timelines contains all code necessary for project timelines
  • time_entries contains a single controller used in the timelog views
  • all the rest of the folders containing common components divided by their type