{"id":18951019,"url":"https://github.com/dkfbasel/scratch","last_synced_at":"2025-08-10T06:36:53.096Z","repository":{"id":74620857,"uuid":"82298973","full_name":"dkfbasel/scratch","owner":"dkfbasel","description":"This is a basic setup for the applications programmed by the department of clinical research basel","archived":false,"fork":false,"pushed_at":"2018-05-18T07:28:25.000Z","size":89,"stargazers_count":48,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-16T04:58:24.700Z","etag":null,"topics":["docker-container","frontend","golang","vue","webpack"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/dkfbasel.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-02-17T13:15:58.000Z","updated_at":"2025-04-13T04:25:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"0767b965-3f87-4267-9017-eca20cb9c5c8","html_url":"https://github.com/dkfbasel/scratch","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dkfbasel/scratch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkfbasel%2Fscratch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkfbasel%2Fscratch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkfbasel%2Fscratch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkfbasel%2Fscratch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkfbasel","download_url":"https://codeload.github.com/dkfbasel/scratch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkfbasel%2Fscratch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269687935,"owners_count":24459393,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker-container","frontend","golang","vue","webpack"],"created_at":"2024-11-08T13:25:53.817Z","updated_at":"2025-08-10T06:36:53.087Z","avatar_url":"https://github.com/dkfbasel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"README\n------\nThis is a template for projects using Go for the backend and Vue.js for the\nfrontend.\n\nDirectory Structure\n-------------------\n```\n- build         // contains all information required to run the project in production\n    - bin       // contains all binaries to run the service\n    - public    // contains all files that should be served by the service\n    - templates // contains all templates required for the service\n\n- docs          // documentation and asset source files for the project\n\n- src           // contains all development information\n    - backend   // contains the golang code for the web server\t\t \n    - frontend  // contains the web application front-end source code\n    - docker-compose.yml    // configuration for development containers\n\n- test          // directory for separate test data and integration tests\n\n- readme.md     // readme file for every project\n```\n\nGolang Tools\n------------\nAll golang packages should be vendored in the src/backend/vendor folder.\nGovendor (github.com/kardianos/govendor) should be used to vendor all go package\ndependencies until an official vendoring solution is available.\n\nTests should be created in respective test files and should employ the package\n[github.com/smartystreets/goconvey](https://github.com/smartystreets/goconvey).\nHowever, goconvey should not be installed in the vendor folder but directly in\nyour gopath (i.e. with go get).\n\nConfiguration should be stored in a separate config.yaml file. It should also be\npossible to overwrite the configuration with environment variables. The package\n[github.com/jinzhu/configor](https://github.com/jinzhu/configor) can be used for\nthis.\n\nFor error handling the package [github.com/pkg/errors](https://github.com/pkg/errors)\nshould be used. This will allow to add context to errors.\n\nPlease use the package [github.com/uber-go/zap](https://github.com/uber-go/zap)\nto create structured logs. Logs should be sent to the standard out, so it is\npossible to later collect all logs from different docker services in a central\nplace.\n\nThe echo framework [github.com/labstack/echo](https://github.com/labstack/echo)\ncan be used as web framework for services. However, try to use only the standard\nlibrary in packages that can be used by external projects. This helps to avoid\nproblems with dependencies on different versions of external packages.\n\nA special docker container dkfbasel/hot-reload-go is provided for development.\nThis container will auto-compile and start the go binary every time a file\nin the project directory is changed.\n\nThe package [github.com/eirwin/stubble](https://github.com/eirwin/stubble) can\nbe used to setup a simple json mock api for testing and initial frontend\ndevelopment.\n\n\nVue.js\n------\nThe frontend should be developed using Vue.js employing various components that\ncompose the application.\n\nEslint should be used to ensure that the code-style conforms to the team standard.\nA respective .eslintrc file is provided in the frontend directory.\n\nStylus should be used to write css specifications and should be kept in a\nseparate .styl file next to the component specification.\n\nA special docker container dkfbasel/hot-reload-webpack is provided to support\nhot-reload development and simplify building the code with webpack.\nThis container does provide all node_modules that are required to build the\napplication. Therefore only project specific packages need to be included in\nthe file package.json (i.e. vue, vuex, vue-router, axios).\n\nYarn (https://yarnpkg.com) should be used instead of npm to load additional\nnode_modules.\n\n\nVersion-Control\n---------------\nGit should be used for all directories as version control system. The branching\nshould follow the git-flow model\n(http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/).\n\nAll production releases should be integrated in the master branch and be given a\nrespective tag. Tags should follow semantic versioning (i.e. major.minor.patch).\nIn addition, a high level description of the changes should be added to every tag.\n\n\nProject Description\n-------------------\n..\n\nHow To Build\n------------\n..\n\nHow To Run\n----------\nAll projects should be packed into docker containers. A basic dockerfile is\nalready provided in the build directory. Alpine-Linux should be used a base image\nto allow inspection of the running processes in the container without having\nto use huge images.\n\nA docker-compose configuration should be provided to run all required containers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkfbasel%2Fscratch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkfbasel%2Fscratch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkfbasel%2Fscratch/lists"}