{"id":15441491,"url":"https://github.com/steveoro/goggles_admin2","last_synced_at":"2025-02-28T02:22:23.357Z","repository":{"id":67868629,"uuid":"359451446","full_name":"steveoro/goggles_admin2","owner":"steveoro","description":"Admin dashboard application for the Goggles Framework v.7+","archived":false,"fork":false,"pushed_at":"2024-04-09T10:22:26.000Z","size":6669,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-09T12:10:30.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steveoro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":"steveoro","open_collective":"master-goggles","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://paypal.me/StefanoAlloro"]}},"created_at":"2021-04-19T12:29:02.000Z","updated_at":"2024-04-23T14:12:49.096Z","dependencies_parsed_at":"2024-04-09T11:37:32.510Z","dependency_job_id":"dfa9727a-77a0-4528-a577-73dfbaf40517","html_url":"https://github.com/steveoro/goggles_admin2","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveoro%2Fgoggles_admin2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveoro%2Fgoggles_admin2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveoro%2Fgoggles_admin2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveoro%2Fgoggles_admin2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steveoro","download_url":"https://codeload.github.com/steveoro/goggles_admin2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241089195,"owners_count":19907707,"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-10-01T19:20:42.669Z","updated_at":"2025-02-28T02:22:23.328Z","avatar_url":"https://github.com/steveoro.png","language":"Ruby","readme":"# Goggles Admin2\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/bee50721c31ebb202064/maintainability)](https://codeclimate.com/github/steveoro/goggles_admin2/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/bee50721c31ebb202064/test_coverage)](https://codeclimate.com/github/steveoro/goggles_admin2/test_coverage)\n[![CodeCov](https://codecov.io/gh/steveoro/goggles_admin2/branch/main/graph/badge.svg?token=JT5MIDU5PU)](https://codecov.io/gh/steveoro/goggles_admin2)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsteveoro%2Fgoggles_admin2.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsteveoro%2Fgoggles_admin2?ref=badge_shield)\n\n\nAdministration client UI app for version 7 and onward.\n\n\n## Wiki \u0026 HOW-TOs\n\n- [Official Framework Wiki :link:](https://github.com/steveoro/goggles_db/wiki) (v. 7+)\n- [API docs  :link:](https://github.com/steveoro/goggles_api#goggles-api-readme)\n\n\n\n## Requires\n\n- Ruby 2.7.2\n- Rails 6.1.7+\n- MariaDb 10.3.25+ or any other MySql equivalent version\n\n\n## Configuration\n\nAll framework app projects (except for the mountable engines) handle multiple configurations for execution, development \u0026 deployment.\n\nIn particular, this project is designed _to be deployed \u0026 used only from your localhost workstation._\n\nYou can use each project in the framework:\n\n- as a full-blown, stand-alone, local installation (by cloning the source repo on `localhost`)\n- as a service composed from individual containers (either by rebuilding the individual containers from scratch or by pulling the images from their DockerHub repository)\n- in any other mixed way, be it the application running on `localhost` while accessing the DB inside a container or vice-versa.\n\n\n## Quick-start as a running container\n\n### Framework repositories already cloned on `localhost`\n\nTo use \u0026 bind together all 3 services (`db`, `api` \u0026 `app`) you can use one of the available docker-compose files after you've cloned the Main repo.\n\nCloning also `goggles_api` repo is not needed since you can just recreate the required folder structure to map to a local `master.key` for the credentials, as outlined in the next paragraph (\"Nothing installed on `localhost` (except `docker`)\").\n\nMake sure you have a recovery DB dump somewhere (a test dump can be obtained by cloning `goggles_db` repo).\n\nCopy the recovery DB dump (for instance, `test.sql.bz2`) to the shared dump folder of this project: `db/dump`.\n\nIf your goal is to use, for example, the `development` configuration, go with:\n\n```bash\n$\u003e docker-compose -f docker-compose.dev.yml up\n```\n\nLeave the container up running and type in another console:\n\n```bash\n$\u003e docker exec -it goggles-main.dev sh -c 'bundle exec rails db:rebuild from=test to=development'\n```\n\nThen point your browser to `http://127.0.0.1:8080/`.\n\nDone! :+1:\n\n\n### Nothing installed on `localhost` (except `docker`)\n\nFirst thing first, you'll need to recreate this shared folder structure:\n\n```\n ---+--- goggles_admin2 --- config (\u003c=| Main master.key)\n    |         |\n    |         +------------ db --- dump (\u003c=| test.sql.bz2)\n    |\n    +--- goggles_api ------ config (\u003c=| API master.key)\n```\n\nThese are published as volumes inside the service containers for serializing and accessing local data.\n\nA mirror `db/dump` subfolder for `goggles_api` is not needed unless you'd like to run DB management tasks from the `api` service rails console (instead of just using the main `app` service's console).\n\nThe `master.key` usually can be regenerated if missing, provided that the credentials are kept consistent among each app container by using `rails credentials:edit` \u0026 by running the rails task to update the settings.\nCheck out our [credentials Wiki page](https://github.com/steveoro/goggles_db/wiki/HOWTO-dev-Goggles_credentials) or [GogglesDb README on database setup](https://github.com/steveoro/goggles_db#database-setup) for more details.\n\nThen, you'll need to run and connect all 3 services: `db`, `api` \u0026 `app`.\nRefer to the dedicated [Wiki page](https://github.com/steveoro/goggles_db/wiki/HOWTO-dev-docker_usage_for_GogglesApi#how-to-docker-usage-with-gogglesapi-as-example) for details.\n\n\n\n## More information\n\nCheck out our [Wiki :link:](https://github.com/steveoro/goggles_db/wiki) and the README files from each subproject for more information. In particular:\n\n- [Suggested tools for development](https://github.com/steveoro/goggles_api#suggested-tools)\n- [Repository credentials: management and creation](https://github.com/steveoro/goggles_db/wiki/HOWTO-dev-Goggles_credentials)\n- [How to update the GogglesDb gem](https://github.com/steveoro/goggles_api#source-dependencies--how-to-update-gogglesdb)\n- [DB setup](https://github.com/steveoro/goggles_db#database-setup)\n- [How to run the test suite](https://github.com/steveoro/goggles_api#how-to-run-the-test-suite) (can be applied to `goggles_main` as well)\n- [Dev workflow](https://github.com/steveoro/goggles_api#dev-workflow-for-contributors)\n- [Getting started: GogglesAPI \u0026 container usage](https://github.com/steveoro/goggles_db/wiki/HOWTO-dev-docker_usage_for_GogglesApi#getting-started-setup-and-usage-as-a-composed-docker-service) (can be applied to `goggles_admin2` as well)\n\n\n* * *\n\n\n## Deployment\n\nNo continuous deployment is setup for the Admin2 project and the build pipeline stops after rebuilding the containers.\n\nYou'll have to download the updated images or pull the changes on your local repository yourself.\n\nAs previously said, this project is designed to be used just on localhost.\n\nAny pushed \u0026 untagged commit will yield the rebuild of the `staging` image, while any tagged release (made from GitHub) will yield a `production` Docker image rebuild.\n\nSee the [Wiki page about the build pipeline](https://github.com/steveoro/goggles_db/wiki/HOWTO-devops-build_pipeline_setup) for more details.\n\n\n* * *\n\n\n## Contributing\n1. Clone the project.\n2. Make a new custom branch for your changes, naming the branch accordingly (i.e. use prefixes like: `feature-`, `fix-`, `upgrade-`, ...).\n3. When you think you're done, make sure you type `guard` (+`Enter`) and wait for the whole spec suite to end.\n4. Make sure your branch is locally green (:green_heart:) before submitting the pull request.\n5. Await the PR's review by the maintainers.\n\n\n## License\nThe application is available as open source under the terms of the [LGPL-3.0 License](https://opensource.org/licenses/LGPL-3.0).\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsteveoro%2Fgoggles_admin2.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsteveoro%2Fgoggles_admin2?ref=badge_large)\n\n\n## Supporting\n\nCheck out the \"sponsor\" button at the top of the page.\n","funding_links":["https://patreon.com/steveoro","https://opencollective.com/master-goggles","https://paypal.me/StefanoAlloro"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveoro%2Fgoggles_admin2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteveoro%2Fgoggles_admin2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveoro%2Fgoggles_admin2/lists"}