Technologies
We are happy to reuse as much as we can from high-quality existing open source software projects. Find below a listing of the technologies we use:
Development
- YourKit Java profiler - for profiling our apps with a full-featured intelligent Java Profiler. YourKit, LLC supports our open source project
- IntelliJ IDEA - for writing Java code. Jetbrains supports our open source project
- WebStorm - for writing JavaScript code. Jetbrains supports our open source project
- myBalsamiq - for rapid wireframing. Balsamiq, LLC supports our open source project
Middleware
- Maven - to organize, compile and build modules
- Spring framework - to assemble modules at runtime
- Spring MVC framework - to assemble modules at runtime
- Spring framework - to create web service 'controllers'
- Freemarker template language - for server-side layout
- Various great Apache projects - for utilities such as commons, commons-io, logging
- Google guava - for utilities
Frontend
- Bootstrap - for responsible HTML layouts
- React - to create module user interface components
- jQuery - to ease javascript + DOM interaction
Backend
- PostGreSQL - our work-horse for simple database storage
- ElasticSearch - for smart indexing and search
- OWL api - for semantic data imports
- Open CSV - for reading tab/csv delimited files
- Apache POI - for reading Microsoft Excel files
Quality
- Github - for our code versioning, bug lists and code reviews
- Jenkins - our continuous integration build and automatic test server
- TestNG - for unit tests
- Selenium+Java - for user interface tests
- TRAC - for managing our scrum backlog