Repository navigation
Project Structure
Martin edited this page Apr 10, 2024
·
2 revisions
The following table gives a high-level overview of the project structure.
| Directory/File | Description |
|---|---|
| .git-hooks | Contains Git-Hooks to ensure commit messages follow the Conventional Commit convention. |
| .github | Contains configuration of GitHub Actions and Issue Templates |
| documentation | Contains the documentation assets of the project used in this wiki |
| src/main/java | Source code of the application |
| src/main/resources | Resources such as configuration files and database migrations scripts |
| src/test/java | Java test classes |
| src/test/resources | Resources for Java test classes |
| Dockerfile | Dockerfile used to create a Docker-Image for the application |
| compose.yml | Docker-compose configuration with Docker containers required for development (Database, Fake-Mailserver) |
| pom.xml | Maven project configuration |
| README.md | Main project information file |
| CONTRIBUTING.md | Information for contributors |
| CHANGELOG.md | Automatically generated changelog. DO NOT MODIFY manually. |
The task administration server uses the Spring Boot Framework. The application consists of the packages described in the following table.
| Directory/File | Description |
|---|---|
| auth | Contains classes for User Authentication. A custom OpenID/OAuth2-like authentication mechanism using Json Web Tokens (JWT) is used in this application. |
| config | Contains the configuration classes for the application. |
| controllers | Contains the RESTful web service controllers. |
| data | Contains the JPA entities and the repositories for database access. |
| dto | Contains the data transfer objects. |
| moodle | Contains services for Moodle synchronization. |
| services | Contains the services encapsulating the business logic. The services are called by the controllers. |