Joeffice - The community
Joeffice is an open source office suite written in Java™
How can you contribute to Joeffice?
- Tell your friends about this project/software for example using the share button or posting a message about it.
- Like Joeffice on facebook
- Provide feedback of what could be improved in the software or website.
- Contributing to the code
- Support for getting charts in spreadsheet (Apache POI)
- Support for getting pictures positions in Apache-POI sheets
- Support for cell spanning in Apache POI
- Writing documentation
- Graphics: icons for files, for the application and for the different actions
- Translate the software (Bundle.properties in the different packages)
-
For translation in other languages, please wait for the Beta stage of Joeffice to do it.
Contact me if you want to propose yourself for a specific language.
- Look also at the bug/RFE database
Code contribution
You are a developer and you would like to improve this project, here are the clues:
- Install NetBeans 12.3 or higher.
- Fork the project from GitHub. Then check the project out (Menu -> Team -> Git -> Clone -> https://github.com/< your name >/Joeffice.git)
- Contribute to one of the library that Joeffice is using: Apache-POI, The NetBeans Platform, H2, Batik, SwingX
- There is an Individual Contributor License Agreement (here) to sign for large contributions.
- Joeffice is based on the NetBeans platform. If you don't know the NetBeans platform, read the documentation or Javadoc.
- Code convention for Joeffice are the following:
- Oracle Java code convention
- No limitation to 80 columns (readability is more important)
- All classes should have Javadoc at the top, telling what the class is about.
- Unneeded code should be removed. (e.g. unneeded constructors, unneeded final keywords, unneeded this., ...)
- The code is based on Java 11 so use Java 11 features
- Indentation is 4 spaces
- No logic in if statements (e.g. if (file.save()) ...)
- Avoid long methods and long classes. Look at principles such as SRP, DRY, KISS.
- No need to provide unit tests but check that opening a file doesn't fail