{"id":19671251,"url":"https://github.com/knighthacks/knighthacks_backend","last_synced_at":"2025-10-28T22:13:01.418Z","repository":{"id":37553321,"uuid":"483077526","full_name":"KnightHacks/knighthacks_backend","owner":"KnightHacks","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-19T00:20:18.000Z","size":114,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-10T03:39:07.196Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KnightHacks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-19T03:11:05.000Z","updated_at":"2023-04-13T21:43:40.000Z","dependencies_parsed_at":"2023-02-01T21:46:45.999Z","dependency_job_id":null,"html_url":"https://github.com/KnightHacks/knighthacks_backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightHacks%2Fknighthacks_backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightHacks%2Fknighthacks_backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightHacks%2Fknighthacks_backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightHacks%2Fknighthacks_backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KnightHacks","download_url":"https://codeload.github.com/KnightHacks/knighthacks_backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240980888,"owners_count":19888344,"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":[],"created_at":"2024-11-11T17:08:16.284Z","updated_at":"2025-10-28T22:13:01.348Z","avatar_url":"https://github.com/KnightHacks.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# knighthacks_backend\n\n## What is this?\n\nThis repository is a centralized overview of all the backend's microservices and also should be the root directory of\nall the microservices in your development environment. We\nutilize [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) which allows us to create a more\ncontainerized development flow.\n\nIf you open any of the submodule repositories from here it will send you to the repository with a detached head, in\nsimple terms, you are viewing the repository from the context of some in commit that happened. This repository should\nact as a single source of truth and the afformentioned referenced commit should always be pointing to what is in\nproduction currently, for the purpose of clarity.\n\n## Cloning\n\nSince this repository utilizes git submodules, you must clone the repository recursively use the following command.\n\n```bash\ngit clone --recurse-submodules -j8 git@github.com:KnightHacks/knighthacks_backend.git\n```\n\nThe `-j8` flag parallelizes the cloning to save time in the cloning process.\n\n\nFollowing the previous command I suggest running the following command inside of the knighthacks_backend repository folder. It will checkout all submdules onto the main branch and pull down any recent changes. \n```bash\nbash checkoutall.sh main\n```\n\nTip: If you are using ssh key passphrases and don't want to type in your passphrase an unbearable amount of times I\nsuggest using [ssh-agent](https://www.ssh.com/academy/ssh/add)\n\n## Requirements\n\n### Golang 1.18+\n\nWe require version 1.18+ in the development environment because\nof [workspace support](https://go.dev/doc/tutorial/workspaces). Workspaces allow you to seemlessly utilize our\nmodule-based workspace without having to push the changes of a dependency (\nlike [shared](https://github.com/KnightHacks/knighthacks_shared)), and then make use the change on the dependent module.\nYou can see live-changes to your dependencies from your dependents in your IDE when using go workspaces.\n\n### Something that can run a shell script\n\nWhether you are on Linux, MacOS, [Windows using WSL](https://docs.microsoft.com/en-us/windows/wsl/about),\nor [Git Bash (not recommended)](https://gitforwindows.org/), we don't care. If you want to be able to run the bash\nscripts you must be on one of these platforms. This is not a must, however it will make your development flow a lot more\nseemless. No one wants to remember some long command that you use once in a blue moon.\n\n**Someone should write the shell scripts in windows batch**\n\n## Testing\n\nFollow the guide [here](https://github.com/KnightHacks/knighthacks_backend/blob/main/TESTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknighthacks%2Fknighthacks_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknighthacks%2Fknighthacks_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknighthacks%2Fknighthacks_backend/lists"}