[[quickStartOverview]]
= Overview
:imagesdir: ../..

Each _quick start_ gets you up and running with OptaPlanner quickly.
Pick the quick start that best aligns with your requirements:

* <<plainJavaQuickStart,*Java*>> (plain Java SE)
** Build a console Java application that uses OptaPlanner to optimize a school timetable for students and teachers.
* <<quarkusJavaQuickStart, *Quarkus Java*>> (recommended)
** Build a REST application that uses OptaPlanner to optimize a school timetable for students and teachers.
** https://quarkus.io[Quarkus] is an extremely fast platform in the Java ecosystem.
It is ideal for rapid incremental development, as well as deployment into the cloud. It also supports native compilation.
It offers increase performance for OptaPlanner, due to build time optimizations.
* <<springBootJavaQuickStart, *Spring Boot Java*>>
** Build a REST application that uses OptaPlanner to optimize a school timetable for students and teachers.
** Spring Boot is another platform in the Java ecosystem.

All three quick starts use OptaPlanner to optimize a school timetable for student and teachers:

image::QuickStart/SchoolTimetabling/schoolTimetablingInputOutput.png[]

For other use cases, take a look at https://github.com/kiegroup/optaplanner-quickstarts[the optaplanner-quickstarts repository]
and the <<useCasesAndExamples, use cases chapter>>.
