Skip to content

OOSE Toolbox

This is the recommended list of tools which we use in OOSE.

  • Integrated Development Environment (IDE): IntelliJ IDEA
  • Programming Language: Java
  • Build System: Gradle or Maven
  • Version Control System (VCS): Git
  • Project Management: GitHub
  • Testing Framework: JUnit
  • Database Management System (DBMS): SQLite and PostgreSQL
  • Object relational mapping (ORM): Sql2o
  • Web Server: Javalin and SparkJava
  • JSON Mapper: Gson or Jackson
  • API Development Environment: Postman
  • User-Interface: We recommend to keep it simple (HTML, CSS, Javascript) but you are free to explore more powerful frameworks like Vue, React, Flutter, Angular, etc.
  • Wire-framing & Diagramming: We recommend to keep it simple and use paper & pencil but feel free to explore more powerful tools like Balsamiq, Sketch, Figma, InVision, etc.
  • Data-Interchange Format: JSON or XML
  • Continuous Integration (CI) Server: Travis CI or GitHub Action
  • Deployment Platform: Heroku
  • Documentation: GitHub Pages, Readme, Wiki
  • Documentation Authoring Language: Markdown

Tip

We provide some tutorial-style lessons during the lecture (accompanied with notes in the readings) to get you started with the tools listed above. You are, however, ultimately in charge of learning these just enough to use them for completing your course project.

Note

OOSE involves a lot of programming but it is not a programming course! It is a course about design and engineering of software applications. That means, you will not be asked questions on the exam (quiz) about any of the tools listed above.

Warning

If you have significant experience with other tools and you would like to use them (for your project) instead of those listed above, please make sure to get the instructor's approval.