{"id":28509161,"url":"https://github.com/atomicobject/psinfo","last_synced_at":"2025-07-02T23:31:31.909Z","repository":{"id":3555444,"uuid":"4616480","full_name":"atomicobject/psinfo","owner":"atomicobject","description":"psinfo example application used for embedded TDD workshops","archived":false,"fork":false,"pushed_at":"2012-07-08T23:58:29.000Z","size":6627,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-06-08T22:08:11.760Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":false,"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/atomicobject.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":"2012-06-10T16:29:42.000Z","updated_at":"2014-02-04T18:28:54.000Z","dependencies_parsed_at":"2022-07-28T21:19:00.835Z","dependency_job_id":null,"html_url":"https://github.com/atomicobject/psinfo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/atomicobject/psinfo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fpsinfo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fpsinfo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fpsinfo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fpsinfo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomicobject","download_url":"https://codeload.github.com/atomicobject/psinfo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fpsinfo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263232553,"owners_count":23434692,"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":"2025-06-08T22:07:39.257Z","updated_at":"2025-07-02T23:31:31.821Z","avatar_url":"https://github.com/atomicobject.png","language":"Ruby","readme":"Welcome to the `psinfo` git repository used in Atomic's hands-on embedded TDD workshop.\n\n## How to use this project ##\n\n### Examples from the presentation ###\n\nOut of the box the project is setup to run the examples from the presentation (like the DataLoader example). `rake` will compile the code and run the tests.\n\n### Building the client ###\n\n* Create a new git branch for the client: `git checkout -b client`\n* Blast the example test files from the `test` directory\n* Blast the example source files from the `source` directory\n* Start building your client! Check in regularly with `git add` and `git commit`\n\n### Building the server ###\n\nWe build the server in a similar fashion: create a git branch for it, wipe out old files, and start building. It may be helpful to start from the client branch if you want to reuse some of the code (like arguments parsing).\n\n### The protocol ###\n\nThe client-server protocol is documented in the `doc/psinfo_protocol.pdf` file.\n\n## Cucumber features ##\n\nCucumber features exist for both the client and server. Run them with `rake cuke:client` and `rake cuke:server`, respectively.\n\nRun the Cucumber features regularly to track your progress. Once they're all passing, you're done!\n\n### The command line protocol ###\n\nThe way in which the Cucumber test harness will run your `client` and `server` commands is documented in the `doc/psinfo_protocol.pdf` file.\n\n### The Ruby cheater scripts ##\n\nIf you run Rake's `cuke:client` or `cuke:server` commands with the `CHEAT` environment variable set, then the test harness will run the Ruby scripts in `cheater` against the test suite. This can be a nice sanity check to ensure the test harness is working as expected.\n\nExample: `cheat=yes rake cuke:server`\n\n## Git usage ##\n\nThe document `doc/git_usage.pdf` contains some basic `git` usage commands - `add`, `commit`, etc.\n\nExcellent git resources:\n\n* [learn.github](http://learn.github.com/p/intro.html)\n* [Git Reference](http://gitref.org)\n\n## Git tags ##\n\nGit tags have been used to mark the repository after a workshop concludes - i.e. the march-2011 tag refers to the code used in the March 2011 workshop.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicobject%2Fpsinfo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomicobject%2Fpsinfo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicobject%2Fpsinfo/lists"}