lunatech-labs / lunatech-beginner-quarkus-course-v2

Quarkus course for beginners - updated to utilise Course Management Tools
2 stars 3 forks source link

Need brief doc on how to set up the course environment #21

Open 4nt0ineB opened 2 days ago

4nt0ineB commented 2 days ago

I don't know how this course is run, since I'm starting it on my own, but I've had a bit of trouble figuring out how to configure cmt. In fact, I've just joined Lunatech as an apprentice and I'm not familiar with the apple ecosystem either. I think this might be useful to others in the same situation.

I managed to set it up by doing so, on macOS:

brew install coursier && coursier setup
brew install 
echo 'export PATH="$HOME/Library/Application Support/Coursier/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
cs install --contrib cmtc
cs install --contrib cmta
cmta new -t lunatech-labs/lunatech-beginner-quarkus-course-v2
cmta studentify -f -m ~/Library/Caches/com.lunatech.cmt/Courses/lunatech-beginner-quarkus-course-v2/code -d projects/
cd projects/lunatech-beginner-quarkus-course-v2/
cmtc set-current-course -s .
eloots commented 2 days ago

The installation process of this course could be done using the cmtc install command, provided that the course has releases. This can be set up using Github actions. If you would like to do that, for reference have a look at the setup of this Lunatech course: lunatech-scala2-to-scala3-course.

For example, the scala course can be installed by running a single command:

$ cmtc install -s lunatech-labs/lunatech-scala2-to-scala3-course
Downloading studentified course from 'https://github.com/lunatech-labs/lunatech-scala2-to-scala3-course/releases/download/3.0.8/lunatech-scala2-to-scala3-course-student.zip' to courses directory

Project lunatech-scala2-to-scala3-course (3.0.8) successfully installed to:
  /Users/ericcvo/Library/Caches/com.lunatech.cmt/Courses/lunatech-scala2-to-scala3-course

Current course set to '/Users/ericcvo/Library/Caches/com.lunatech.cmt/Courses/lunatech-scala2-to-scala3-course'

Exercises in repository:
  1.  *   exercise_000_sudoku_solver_initial_state
  2.      exercise_001_dotty_deprecated_syntax_rewriting
  3.      exercise_002_dotty_new_syntax_and_indentation_based_syntax
  4.      exercise_003_top_level_definitions
  5.      exercise_004_parameter_untupling
  6.      exercise_005_extension_methods
  7.      exercise_006_using_and_summon
  8.      exercise_007_givens
  9.      exercise_008_enum_and_export
 10.      exercise_009_union_types
 11.      exercise_010_exploring_opaque_type_aliases
 12.      exercise_011_optional_opaque_type_aliases
 13.      exercise_012_multiversal_equality
 14.      exercise_020_opaque_type_aliases_alt
 15.      exercise_021_multiversal_equality