{"id":16406702,"url":"https://github.com/arranbartish/identity","last_synced_at":"2025-09-06T01:37:03.739Z","repository":{"id":89567919,"uuid":"61241310","full_name":"arranbartish/identity","owner":"arranbartish","description":"Centralized Identity Application","archived":false,"fork":false,"pushed_at":"2017-02-01T22:37:54.000Z","size":1138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T21:27:45.221Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arranbartish.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":"2016-06-15T21:13:12.000Z","updated_at":"2016-06-15T21:14:23.000Z","dependencies_parsed_at":"2023-06-29T03:00:49.519Z","dependency_job_id":null,"html_url":"https://github.com/arranbartish/identity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arranbartish/identity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arranbartish%2Fidentity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arranbartish%2Fidentity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arranbartish%2Fidentity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arranbartish%2Fidentity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arranbartish","download_url":"https://codeload.github.com/arranbartish/identity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arranbartish%2Fidentity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273847119,"owners_count":25178633,"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-09-05T02:00:09.113Z","response_time":402,"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":[],"created_at":"2024-10-11T06:10:39.208Z","updated_at":"2025-09-06T01:37:03.691Z","avatar_url":"https://github.com/arranbartish.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wasted time app\nAn app for tracking wasted time. I've stayed pretty close to the ideals of a 12 factor app.\n\n## dev url\nhttps://arran-wasted-time.herokuapp.com\n\n## Improvements / limitations\n- Dockerize the artifact so that testing and deployment use the same artifact\n- not implemented openID or crowd integration\n\n# Install notes\n## As a deployable jar ( Prefered )\n\n1. user@host:~/source-root$ mvn clean package\n\n2. user@host:~/source-root$ java -Dserver.port=(DESIRED_PORT) -jar  wasted-app/target/wasted-app-(VERSION).jar\n\nThe application should now be deployed locally on the port you defined in the above command.\n\n# About the Project\n\nThis is a Spring boot app that is continuously deployed to heroku on the URL described in the [POM](parent/pom.xml)\n\n## Continuous Deployment \n\nThe project is build practicing continuous delivery from the beginning and is described in the [DSL](pipeline-dsl.groovy) \n\nGit flow is being used to allow feature branches to be automatically integrated to the develop branch the moment they pass. Obviously the means tests must be provided before pushing to origin. Just to be extra clear... TEST FIRST\n\nAll changes wait on the develop branch until it is decided to cut a candidate branch. The Candidate will result in a versioned release which will be tested, followed by a migration to master and heroku\n\nThe command to start the app on heroku is in the Procfile and can be updated any time by changing the [Heroku Procfile template](HerokuProcfile.template). Currently there is only built in support for the version placeholder\n\n### Testing\n\nTests are all of a unit flavour, however I have made a clear separation between what are true unit tests and those that are integration tests. This separation has been expressed in the maven lifecycle by running all *Test.java files in the test phase and all *IntegrationTest.java files in the integration-test phase.\n\n#### The Jar\nThe jar is always built and tested by default with no additional effort. \n\n#### The war\nThe war only builds when the JAR-AND-WAR maven profile is used. The cargo plugin is bound to the pre-integration-test phase and deploys the packaged war for confirming the deployable\n\n## 12 factor app\n\n### I. Codebase\nSingle code base using gitflow and multiple version. \n\n### II. Dependencies\nAll dependencies are isolated especially SNAPSHOT intermodule dependencies. This can be see in the way the pipeline is built\n\n### III. Config\nThe app comes with some configurable defaults, however the keys and environment specific items are configured on heroku\n\n### IV. Backing services\nBesides the database the only service being used is appdirect which is being used as a service.\n\n### V. Build, release, run\nThe pipeline has this at its heart\n\n### VI. Processes\nApp is stateless except for the spring security session, though this can be swapped out got reddit\n\n### VII. Port binding\nSelf contained... except of course for the optional war component.\n\n### VIII. Concurrency\nStateless. If the app supported user authentication I would have used redis and not app session \n\n### IX. Disposability\nTotally disposable.\n\n### X. Dev/prod parity\nThe app code deployed locally, used on CI, and on heroku is the same. This could be improved by using docker.\n\n### XI. Logs\nLogs have not been used too much in this case.\n\n###  XII. Admin processes\nNo real admin processes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farranbartish%2Fidentity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farranbartish%2Fidentity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farranbartish%2Fidentity/lists"}