Project Layout
The JobTech Taxonomy API project is structured in a way that tries to make it easy to find the code and resources you need. The project is divided into several directories, each with a specific purpose. The following table below provides an overview of the directories in the project.
Major features that may not be necessary for all users are placed in the features
directory. The env
directory contains aliases and configurations for different environments. The resources
directory contains files that are used by the JobTech Taxonomy API but that are not generated during build, found in a database or source code.
Features
The features
directory contains optional features that can be enabled or disabled. These features are not necessary for the core functionality of the JobTech Taxonomy API. The features are implemented as middleware and can be enabled or disabled depending on the configuration. The features are intended to allow for easy extensibility of the JobTech Taxonomy API and to increase security by, for example, deploying without the taxonomy editor related features.
Directories
Directory | Description |
---|---|
docs | Documentation |
docs/development | Development-related documentation. |
docs/taxonomy | End user documentation. |
env | Functionality related to various aliases. |
env/dev | Settings, tools and helpers for development. |
env/kaocha | Configuration for the Kaocha test runner. |
env/prod | Production environment configurations. |
env/prof | Profiling configurations. |
env/test | Testing related code. |
resources | Files that are used by the JobTech Taxonomy API but that are not generated during build, found in a database or source code. |
resources/public | Static web resources and documents used by the JobTech Taxonomy API. |
src | Source code for most of the implementation of the JobTech Taxonomy API. |
src/clj/jobtech_taxonomy/api | The server, database and API implementation. |
src/clj/jobtech_taxonomy/common | Utilities and code shared by the API and features. |
src/clj/jobtech_taxonomy/features | Optional features. |
test | Root directory for test sources and resources. |
test/clj/integration | For tests that go from HTTP request to response. |
test/clj/unit | Unit test code. |
test/clj/utils | Helper functions for the tests. |
test/resources | Data used in tests. |