addressbook-level4 icon indicating copy to clipboard operation
addressbook-level4 copied to clipboard

:ab::four: Address Book sample application (Level 4)

= Address Book (Level 4) ifdef::env-github,env-browser[:relfileprefix: docs/]

https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]] https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]] https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]]

ifdef::env-github[] image::docs/images/Ui.png[width="600"] endif::[]

ifndef::env-github[] image::images/Ui.png[width="600"] endif::[]

  • This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface).
  • It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language.
  • It is written in OOP fashion. It provides a reasonably well-written code example that is significantly bigger (around 6 KLoC)than what students usually write in beginner-level SE modules.
  • What's different from https://github.com/se-edu/addressbook-level3[level 3]: ** A more sophisticated GUI that includes a list panel and an in-built Browser. ** More test cases, including automated GUI testing. ** Support for Build Automation using Gradle and for Continuous Integration using Travis CI.

== Site Map

  • <<UserGuide#, User Guide>>
  • <<DeveloperGuide#, Developer Guide>>
  • <<LearningOutcomes#, Learning Outcomes>>
  • <<AboutUs#, About Us>>
  • <<ContactUs#, Contact Us>>

== Acknowledgements

  • Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by Marco Jakob.
  • Libraries used: https://openjfx.io/[JavaFX], https://github.com/TestFX/TestFX[TestFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/junit-team/junit5[JUnit5]

== Licence : link:LICENSE[MIT]