{"id":13558151,"url":"https://github.com/rafaels88/pinfluence","last_synced_at":"2025-07-23T14:07:27.373Z","repository":{"id":139933230,"uuid":"60651645","full_name":"rafaels88/pinfluence","owner":"rafaels88","description":"All world's influence in a map. Ruby and Hanami open source project.","archived":false,"fork":false,"pushed_at":"2018-08-25T12:35:11.000Z","size":633,"stargazers_count":26,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-07T17:01:23.232Z","etag":null,"topics":["clean-architecture","clean-code","graphql","hanami","non-profit","nonprofit","opensource","ruby"],"latest_commit_sha":null,"homepage":"http://pinfluence.org","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/rafaels88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-06-07T22:46:08.000Z","updated_at":"2022-11-27T04:57:33.000Z","dependencies_parsed_at":"2024-01-14T17:16:46.109Z","dependency_job_id":"4044609e-99cf-4a8d-b787-cafaa278f48c","html_url":"https://github.com/rafaels88/pinfluence","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rafaels88/pinfluence","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaels88%2Fpinfluence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaels88%2Fpinfluence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaels88%2Fpinfluence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaels88%2Fpinfluence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafaels88","download_url":"https://codeload.github.com/rafaels88/pinfluence/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaels88%2Fpinfluence/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266691580,"owners_count":23969182,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["clean-architecture","clean-code","graphql","hanami","non-profit","nonprofit","opensource","ruby"],"created_at":"2024-08-01T12:04:46.779Z","updated_at":"2025-07-23T14:07:27.345Z","avatar_url":"https://github.com/rafaels88.png","language":"Ruby","readme":"# Pinfluence\n\n[![Build Status](https://travis-ci.org/rafaels88/pinfluence.svg?branch=master)](https://travis-ci.org/rafaels88/pinfluence)\n[![Code Climate](https://codeclimate.com/github/rafaels88/pinfluence.png)](https://codeclimate.com/github/rafaels88/pinfluence)\n\n[http://pinfluence.org ](http://pinfluence.org) - All world's influence in a map. Non-profit open source project.\n\nThis is an open source project for a study purpose in order to develop a real application\nusing mainly Ruby and Hanami, and other technologies which could fit well, like GraphQL.\n\nYou can use it as a reference for building your own project, and of course, you are welcome\nto contribute on this one as well.\n\n## Requirements\n\n- Ruby (\u003e= 2.4.1)\n- Postgresql (\u003e= 9.3)\n- QT (== 5.5) [Installation instructions](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit) \n- Bundler\n\n## Quick start\n\n1. Make a copy of `.env.development.example` to `.env.development`;\n1. Open `.env.development` and `.env.test` files and configure the `DATABASE_URL` with your local database informations\n\nThis is a Ruby project, so it is nice to have [RVM](https://rvm.io/) or [Rbenv](https://github.com/rbenv/rbenv) installed.\n\n```bash\n$ gem install bundler\n$ bundle # install all gems\n```\n\nAfter, you need to setup your database.\n\n```bash\n$ bundle exec hanami db prepare\n```\n\nNow, run the server:\n\n```bash\n$ bundle exec hanami server\n```\n\nWebsite will be available in [http://localhost:2300](http://localhost:2300)\n\n\n## Development\n\nThe project has three apps:\n\n- WEB (`/`), which has all code to show public information, like Map;\n- API (`/api`), is a public GraphQL API which `web` app makes use;\n- ADMIN (`/admin`), is the dashboard. This is a restrict area.\n\nWhen you run the server you run all these apps.\n\n\n### Creating admin user\n\nTo create an access to admin, just create an user using `hanami console`:\n\n```bash\n$ bundle exec hanami console\n\nCreateUser.call name: \"Your Name\", email: \"your_email@domain.com\", password: \"your-plain-password\"\n```\n\nAnd done. You now have access to local admin area.\n\n### Testing\n\n1. Since this project is using `capybara-webkit`, make sure you have all dependencies installed. [Click here for instructions](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#instructions-for-installing)\n\n1. You need to prepare your test database\n\n```bash\n$ HANAMI_ENV=test bundle exec hanami db prepare\n```\n\nNow, run the tests. If everything is fine, all tests are going to pass.\n\n```bash\n$ bundle exec rspec\n```\n\nA `Guardfile` is also available if you want to `bundle exec guard`.\n\n## Deployment\n\n```bash\n$ cap production deploy\n```\n\n## Contributing\n\nBefore it, see the [code of conduct](https://github.com/rafaels88/pinfluence/blob/master/code-of-conduct.md).\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request :D\n\n## License\n\nCopyright © 2017 Rafael Soares – Released under MIT License\n","funding_links":[],"categories":["Ruby","graphql"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaels88%2Fpinfluence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaels88%2Fpinfluence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaels88%2Fpinfluence/lists"}