Programming topics include:
- Programming logic and algorithms
- Java language syntax
- Classes, attributes and methods
- Constructors, overloading, encapsulation
- Data structures: arrays and collections
- Enumerations, composition
- Inheritance, polymorphism, interfaces
- Exception Handling
- Generics
- Functional programming and lambda expressions, Stream API
- File manipulation
Main tools and frameworks to work with Java professionally on the market, such as:
- JDBC for SQL-based data access
- JavaFX for GUI
- Git/Github for versioning
- Spring Boot - leading Java framework for commercial Java development
- JPA / Hibernate for data access with object-relational mapping (ORM)
- Maven for managing project dependencies
- Spring Data JPA - framework for ORM data access
- Spring Data MongoDB - framework for accessing NoSQL data to the MongoDB database
The following tools were used in the construction of the project: