{"id":16382436,"url":"https://github.com/andyobtiva/glimmer-cs-calculator","last_synced_at":"2025-03-21T01:32:40.105Z","repository":{"id":40036068,"uuid":"267276770","full_name":"AndyObtiva/glimmer-cs-calculator","owner":"AndyObtiva","description":"Calculator - Glimmer Custom Shell","archived":false,"fork":false,"pushed_at":"2023-01-19T20:29:08.000Z","size":1394,"stargazers_count":3,"open_issues_count":15,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T19:46:55.855Z","etag":null,"topics":["desktop","desktop-app","desktop-application","glimmer","gui","gui-application","jruby","ruby","swt"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/AndyObtiva.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-27T09:27:50.000Z","updated_at":"2023-01-31T18:13:41.000Z","dependencies_parsed_at":"2023-02-11T21:01:09.892Z","dependency_job_id":null,"html_url":"https://github.com/AndyObtiva/glimmer-cs-calculator","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndyObtiva%2Fglimmer-cs-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndyObtiva%2Fglimmer-cs-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndyObtiva%2Fglimmer-cs-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndyObtiva%2Fglimmer-cs-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndyObtiva","download_url":"https://codeload.github.com/AndyObtiva/glimmer-cs-calculator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244721621,"owners_count":20498984,"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":["desktop","desktop-app","desktop-application","glimmer","gui","gui-application","jruby","ruby","swt"],"created_at":"2024-10-11T04:05:23.914Z","updated_at":"2025-03-21T01:32:39.802Z","avatar_url":"https://github.com/AndyObtiva.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg alt=\"Glimmer Calculator Icon\" src=\"glimmer-cs-calculator-icon.png\" height=85 /\u003e Glimmer Calculator\n## [\u003cimg src=\"https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png\" height=40 /\u003e Glimmer Custom Shell](https://github.com/AndyObtiva/glimmer-dsl-swt#custom-shell-gem)\n[![Gem Version](https://badge.fury.io/rb/glimmer-cs-calculator.svg)](http://badge.fury.io/rb/glimmer-cs-calculator)\n\nGlimmer Calculator on Mac\n\n![Calculator](glimmer-cs-calculator-screenshot.png)\n\nGlimmer Calculator on Windows\n\n![Calculator](glimmer-cs-calculator-screenshot-windows.png)\n\nGlimmer Calculator on Linux\n\n![Calculator](glimmer-cs-calculator-screenshot-linux.png)\n\nGlimmer Calculator on [Opal](#glimmer-dsl-for-opal) (Web)\n\n[![Calculator](glimmer-cs-calculator-screenshot-opal.png)](http://glimmer-cs-calculator-server.herokuapp.com)\n\nGlimmer Calculator is a sample desktop GUI application built with [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Library).\n\nArchitectural Pattern is MVP (Model View Presenter) thanks to [Glimmer data-binding](https://github.com/AndyObtiva/glimmer-dsl-swt#data-binding) support.\n\nGlimmer Calculator was developed test-first following TDD (Test Driven Development) after [Glimmer Scaffolding](https://github.com/AndyObtiva/glimmer-dsl-swt#scaffolding).\n\nDesign Patterns discovered in the process were Facade (Presenter) and Command Pattern.\n\nHere are the calculator commands under the [models directory](lib/models/glimmer/calculator):\n\n![Calculator Commands](glimmer-cs-calculator-command-pattern.png)\n\n[\u003cimg alt=\"Glimmer Calculator Icon\" src=\"glimmer-cs-calculator-icon.png\" height=40 /\u003eDownload Glimmer Calculator v1.1.4 DMG for Mac](https://www.dropbox.com/s/g359xmeo66gu8xs/Glimmer%20Calculator-1.1.4.dmg?dl=1)\n\n[\u003cimg alt=\"Glimmer Calculator Icon\" src=\"glimmer-cs-calculator-icon.png\" height=40 /\u003eDownload Glimmer Calculator v1.1.1 MSI for Windows](https://www.dropbox.com/s/e8b586s2xgjn9bg/Glimmer%20Calculator-1.1.1.msi?dl=1)\n\n[\u003cimg alt=\"Glimmer Calculator Icon\" src=\"glimmer-cs-calculator-icon.png\" height=40 /\u003eDownload Glimmer Calculator v1.1.4 GEM for Linux](#setup-instructions)\n\n[\u003cimg alt=\"Glimmer Calculator Icon\" src=\"glimmer-cs-calculator-icon.png\" height=40 /\u003eVisit Glimmer Calculator v1.1.2 WEB for Opal](https://glimmer-cs-calculator-server.herokuapp.com)\n\n## Platforms\n\n- Mac: Tested and [packaged](https://github.com/AndyObtiva/glimmer-dsl-swt#packaging--distribution) for Mac. ([Download Here](https://www.dropbox.com/s/g359xmeo66gu8xs/Glimmer%20Calculator-1.1.4.dmg?dl=1))\n- Windows: Tested and [packaged](https://github.com/AndyObtiva/glimmer-dsl-swt#packaging--distribution) for Windows. ([Download Here](https://www.dropbox.com/s/e8b586s2xgjn9bg/Glimmer%20Calculator-1.1.1.msi?dl=1))\n- Linux: Tested and [packaged](http://rubygems.org/gems/glimmer-cs-calculator) for Linux (Follow [setup instructions](#setup-instructions) to install [gem](http://rubygems.org/gems/glimmer-cs-calculator) and run `calculator` command)\n- Opal (Web): Tested with [Glimmer DSL for Opal](https://github.com/AndyObtiva/glimmer-dsl-opal) and [deployed to Heroku](https://glimmer-cs-calculator-server.herokuapp.com). Visit https://glimmer-cs-calculator-server.herokuapp.com\n\n## Development Environment Pre-requisites\n\n- JRuby 9.2.11.1 (supporting Ruby 2.5.x syntax) (find at https://www.jruby.org/download)\n- Java SE Runtime Environment 7 or higher (find at https://www.oracle.com/java/technologies/javase-downloads.html)\n\n## Setup Instructions\n\n### Glimmer DSL for SWT\n\nInstall Calculator gem by running (`jgem`, `jruby -S gem`, or `gem` directly if you have RVM):\n\n```\njgem install glimmer-cs-calculator\n```\n\nAfterwards, you may run `calculator` to bring up the calculator:\n\n```\ncalculator\n```\n\nNote: If you cloned this project and bundle installed, you may invoke via `bin/calculator` instead.\n\n#### Glimmer Custom Shell Reuse\n\nTo reuse Calculator as a Glimmer Custom Shell inside another Glimmer application, add the\nfollowing to the application's `Gemfile`:\n\n```\ngem 'glimmer-cs-calculator', '1.1.4'\n```\n\nRun:\n\n```\njruby -S bundle\n```\n\nAnd, then instantiate the Calculator custom shell in your Glimmer application via the `calculator` Glimmer DSL keyword.\n\n### Glimmer DSL for Opal\n\nThe app Rails server lives under: [server/glimmer-cs-calculator-server](server/glimmer-cs-calculator-server)\n\nIt is deployed to Heroku at: https://glimmer-cs-calculator-server.herokuapp.com\n\n[Setup instructions](https://github.com/AndyObtiva/glimmer-dsl-opal#setup) from [Glimmer DSL for Opal](https://github.com/AndyObtiva/glimmer-dsl-opal) were followed in creating the Rails server.\n\nThis is the content of `app/assets/javascripts/application.rb`:\n\n```ruby\nrequire 'glimmer-dsl-opal'\n\nDocument.ready? do\n  require 'glimmer-cs-calculator/launch'\nend\n```\n\nAs you can see, Glimmer Calculator works as is by adding one require statement without needing to change a single line of its code thanks to [Glimmer DSL for Opal](https://github.com/AndyObtiva/glimmer-dsl-opal).\n\n[![Calculator](glimmer-cs-calculator-screenshot-opal.png)](http://glimmer-cs-calculator-server.herokuapp.com)\n\n#### CSS Themes\n\nCSS can be applied externally in Rails onto any Rails Route serving an Opal app.\n\n##### Apple Calculator CSS Theme\n\nVisit: http://glimmer-cs-calculator-server.herokuapp.com/welcomes/apple\n\n[server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_apple.scss](server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_apple.scss)\n\n[![Calculator](glimmer-cs-calculator-screenshot-opal-apple.png)](http://glimmer-cs-calculator-server.herokuapp.com/welcomes/apple)\n\n##### Tiles CSS Theme\n\nVisit: http://glimmer-cs-calculator-server.herokuapp.com/welcomes/tiles\n\n[server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_tiles.scss](server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_tiles.scss)\n\n[![Calculator](glimmer-cs-calculator-screenshot-opal-tiles.png)](http://glimmer-cs-calculator-server.herokuapp.com/welcomes/tiles)\n\n## Feature Suggestions\n\n[TODO.md](TODO.md)\n\n## Change Log\n\n[CHANGELOG.md](CHANGELOG.md)\n\n## Contributing to glimmer-cs-calculator\n \n* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.\n* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.\n* Fork the project.\n* Start a feature/bugfix branch.\n* Commit and push until you are happy with your contribution.\n* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.\n* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.\n\n## Copyright\n\n[MIT](https://opensource.org/licenses/MIT)\n\nCopyright (c) 2020 Andy Maleh. See [LICENSE.txt](LICENSE.txt) for further details.\n\n--\n\n[\u003cimg src=\"https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png\" height=40 /\u003e](https://github.com/AndyObtiva/glimmer) Built with [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Library)\n\nGlimmer Calculator icon made by \u003ca href=\"https://www.flaticon.com/authors/freepik\" title=\"Freepik\"\u003eFreepik\u003c/a\u003e from \u003ca href=\"https://www.flaticon.com/\" title=\"Flaticon\"\u003ewww.flaticon.com\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyobtiva%2Fglimmer-cs-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyobtiva%2Fglimmer-cs-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyobtiva%2Fglimmer-cs-calculator/lists"}