{"id":25760353,"url":"https://github.com/kinotic-foundation/structures","last_synced_at":"2025-02-26T18:19:06.261Z","repository":{"id":154455326,"uuid":"616317539","full_name":"Kinotic-Foundation/structures","owner":"Kinotic-Foundation","description":"Structures is an open-source framework for data storage and retrieval, supporting schema evolution, data management, and providing a user-friendly GUI and OpenAPI interface.","archived":false,"fork":false,"pushed_at":"2024-04-11T01:32:22.000Z","size":17547,"stargazers_count":2,"open_issues_count":12,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-13T23:05:14.731Z","etag":null,"topics":["data-management","data-structures","datamanagement","docker","high-performance","java","schema-evolution"],"latest_commit_sha":null,"homepage":"https://kinotic-foundation.github.io/structures/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kinotic-Foundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-20T06:31:30.000Z","updated_at":"2024-04-17T16:38:24.731Z","dependencies_parsed_at":"2023-10-04T13:21:28.236Z","dependency_job_id":"947db213-5fd5-4d20-b21d-22d2f242186d","html_url":"https://github.com/Kinotic-Foundation/structures","commit_stats":{"total_commits":112,"total_committers":3,"mean_commits":"37.333333333333336","dds":0.2678571428571429,"last_synced_commit":"f1f46799c6d7133ecb0f3b1a2fe10fed600bbd45"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kinotic-Foundation%2Fstructures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kinotic-Foundation%2Fstructures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kinotic-Foundation%2Fstructures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kinotic-Foundation%2Fstructures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kinotic-Foundation","download_url":"https://codeload.github.com/Kinotic-Foundation/structures/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240645279,"owners_count":19834396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-management","data-structures","datamanagement","docker","high-performance","java","schema-evolution"],"created_at":"2025-02-26T18:19:05.642Z","updated_at":"2025-02-26T18:19:06.256Z","avatar_url":"https://github.com/Kinotic-Foundation.png","language":"Java","readme":"![CI](https://github.com/kinotic-foundation/structures/actions/workflows/gradle-build.yml/badge.svg?branch=develop)\n\n# Structures\nStructures is an open-source framework for data storage and retrieval, supporting schema evolution, data management, and providing a user-friendly GUI and OpenAPI interface for data management.\n\n## Docs\n* [https://kinotic-foundation.github.io/structures/](https://kinotic-foundation.github.io/structures/)\n\n### Projects\n* structures-core\n  * Provides the core library for use in all other projects.\n* structures-frontend\n  * Provides a GUI for interacting with Structures.\n* structures-server\n  * Provides Access to the core library via a REST API and a GUI.\n\n\n\n### Basic Setup\n1. Install Docker Desktop.\n2. Install SdkMan, which makes installing/managing Java and Gradle easy.  Also can manage multiple installed versions.\n   1. `curl -s \"https://get.sdkman.io\" | bash`\n3. Install Java 11\n   1. `sdk install java 11.0.17-zulu`\n4. Build the Docker images (Get a cup of :coffee: this could take a bit the first time, depending on your internet connection.)\n   1. `./gradlew bootBuildImage`\n5. Publish the image to docker \n   ```shell\n      export DOCKER_HUB_USERNAME=\u003cyour docker hub username\u003e\n      export DOCKER_HUB_PASSWORD=\u003cyour docker hub password\u003e\n   \n      ./gradlew bootBuildImage --publishImage\n    ```\n6. Run Docker Compose.\n   1. `docker-compose up -d` (You should see the application listed under containers in docker desktop)\n7. You can now view the application by going [here](http://localhost:9090/) in a browser. (This may not be available for at least a minute while the backend services finish starting.)\n   1. [http://localhost:9090/](http://localhost:9090/)\n\n### Environment Variables \nThese variables are available for custom configuration, presented are the defaults.\n\n```text\nSTRUCTURES_INDEX_PREFIX: struct_\nSTRUCTURES_TENANT_ID_FIELD_NAME: structuresTenantId\nSTRUCTURES_ELASTICCONNECTIONS_0_SCHEME: http\nSTRUCTURES_ELASTICCONNECTIONS_0_HOST: elasticsearch\nSTRUCTURES_ELASTICCONNECTIONS_0_PORT: 9200\nSTRUCTURES_ELASTIC_CONNECTION_TIMEOUT: 5s\nSTRUCTURES_ELASTIC_SOCKET_TIMEOUT: 60s\nSTRUCTURES_ELASTIC_USERNAME:\nSTRUCTURES_ELASTIC_PASSWORD:\nSTRUCTURES_OPEN_API_SECURITY_TYPE: BASIC\nSTRUCTURES_OPEN_API_PORT: 8080\nSTRUCTURES_OPEN_API_PATH: /api/\nSTRUCTURES_OPEN_API_SERVER_URL: http://127.0.0.1:8080\nSTRUCTURES_GRAPHQL_PORT: 4000\nSTRUCTURES_GRAPHQL_PATH: /graphql/\nSTRUCTURES_CORS_ALLOWED_ORIGIN_PATTERN: '*'\nSTRUCTURES_WEB_SERVER_PORT: 9090\nSTRUCTURES_HEALTH_CHECK_PATH: /health/\nSTRUCTURES_ENABLE_STATIC_FILE_SERVER: true\nSTRUCTURES_INITIALIZE_WITH_SAMPLE_DATA: false\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkinotic-foundation%2Fstructures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkinotic-foundation%2Fstructures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkinotic-foundation%2Fstructures/lists"}