{"id":18868891,"url":"https://github.com/ndlano/backend","last_synced_at":"2025-04-14T15:09:40.433Z","repository":{"id":37101808,"uuid":"440499476","full_name":"NDLANO/backend","owner":"NDLANO","description":"sbt-multiproject containing all scala-code for NDLA API's","archived":false,"fork":false,"pushed_at":"2024-11-05T14:34:27.000Z","size":24867,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-05T15:38:53.101Z","etag":null,"topics":["elasticsearch","http4s","rest","sbt","sbt-multi-project","scala","tapir"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NDLANO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2021-12-21T11:52:17.000Z","updated_at":"2024-11-04T09:14:45.000Z","dependencies_parsed_at":"2023-09-22T21:04:35.284Z","dependency_job_id":"b1df57c0-e75e-4a98-b7bc-6832e425edaf","html_url":"https://github.com/NDLANO/backend","commit_stats":null,"previous_names":[],"tags_count":149,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDLANO%2Fbackend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDLANO%2Fbackend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDLANO%2Fbackend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDLANO%2Fbackend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NDLANO","download_url":"https://codeload.github.com/NDLANO/backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223634062,"owners_count":17176881,"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":["elasticsearch","http4s","rest","sbt","sbt-multi-project","scala","tapir"],"created_at":"2024-11-08T05:15:08.671Z","updated_at":"2024-11-08T05:15:09.102Z","avatar_url":"https://github.com/NDLANO.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NDLA backend monorepo\n\nThis is a [sbt-multiproject](https://www.scala-sbt.org/1.x/docs/Multi-Project.html) repository for NDLA scala backend projects.\n\nThis means this contains all scala backend components for the NDLA project.\nThere will be more detailed README's in the respective subdirectories.\n\n\n## Developer documentation\n**Compile subproject**: `sbt test-api/compile`\n\n**Run tests:** `sbt test-api/test`\n\n**Create Docker Image:** `sbt test-api/docker`\n\n**Check code formatting:** `sbt test-api/checkfmt`\n\n**Automatically format code files:** `sbt test-api/fmt`\n\n**Generate typescript files:** `sbt test-api/generateTypescript`\n\nYou could run the sbt-tasks directly to execute the tasks for _all_ subprojects (IE: `sbt test`), this however can take a long time and in some cases even fail because of dependencies or jvm memory problems. We should improve upon this in the future, but for now it imposes no real problems.\n\n**Check code formatting for everything:** `sbt scalafmtCheck scalafmtCheckSbt`\n\n**Apply code formatting for everything:** `sbt scalafmt scalafmtSbt`\n\n### IntelliJ jvm options\n\nWhen using IntelliJ it is useful to setup required [jvmoptions](.jvmopts) in templates for `sbt task` and `scalatest` under \nrun/debug configurations.\n\n\n### Merging in sub-projects\n\nWhen the sub-projects was merged in from the separate repositories we used the `git subtree` command.\nThis allows us to more easily maintain the separate repositories should we ever want to go back, or if we ever need to pull in changes from one of the separate repositories.\n\n\u003cdetails\u003e\n    \u003csummary\u003eSubtree merge strategy\u003c/summary\u003e\n\n\n### How to merge\n\n- Run the subtree command to add:\n  - `git subtree add --prefix=test-api git@github.com:ndlano/test-api.git master`\n\n### How to pull changes in standalone repo:\n- Run the subtree pull command:\n  - `git subtree --prefix=test-api git@github.com:ndlano/test-api.git master`\n\n### How to move back into standalone repo:\n\n- Run the subtree command to push back:\n  - `git subtree push --prefix=test-api git@github.com:ndlano/test-api.git master`\n\nThere can be some gotchas with viewing history from the standalone repositories in there, so we might consider merging the subprojects in directly (with `git merge --allow-unrelated-histories`) when can confirm this way of managing the backend projects is better.\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndlano%2Fbackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndlano%2Fbackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndlano%2Fbackend/lists"}