{"id":15151649,"url":"https://github.com/romerobrjp/punkapi","last_synced_at":"2026-01-21T10:36:10.805Z","repository":{"id":141502059,"uuid":"239738887","full_name":"romerobrjp/punkapi","owner":"romerobrjp","description":null,"archived":false,"fork":false,"pushed_at":"2020-02-11T10:56:37.000Z","size":59,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T09:45:55.294Z","etag":null,"topics":["api-rest","rails5","rails5-api","ruby","ruby-application","ruby-on-rails","rubyonrails"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"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/romerobrjp.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-11T10:50:44.000Z","updated_at":"2020-02-12T01:22:22.000Z","dependencies_parsed_at":"2024-01-06T17:48:02.349Z","dependency_job_id":"26c114f0-94e4-4c67-b7a3-ee2e4d51695b","html_url":"https://github.com/romerobrjp/punkapi","commit_stats":null,"previous_names":["romerobrjp/punkapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/romerobrjp/punkapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romerobrjp%2Fpunkapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romerobrjp%2Fpunkapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romerobrjp%2Fpunkapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romerobrjp%2Fpunkapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romerobrjp","download_url":"https://codeload.github.com/romerobrjp/punkapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romerobrjp%2Fpunkapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28631936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api-rest","rails5","rails5-api","ruby","ruby-application","ruby-on-rails","rubyonrails"],"created_at":"2024-09-26T15:20:21.668Z","updated_at":"2026-01-21T10:36:10.789Z","avatar_url":"https://github.com/romerobrjp.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PUNK API\n\n## Made with:\n- ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]\n- rbenv 1.1.1-6-g2d7cefe\n- Rails 5.1.4\n\n## ER diagram\nhttps://imgur.com/a/FPZ3H\n\n## Tests\n- FactoryBot instead of fixtures;\n- Unit tests;\n- Integration tests (request specs);\n- I chose to work with requests specs instead of controllers specs due to the recommendation of the creators of Rails and RSpec, since it is a more comprehensive type of test, avoiding unnecessary granularization;\n- I'm randomizing the tests order so that can be more robust. You can disable this feature by commenting the line `config.order = :random` at spec_helper.rb;\n- I'm using the gem 'spring-commands-rspec' in order to increase the loading speed of the specs;\n\n### How to run the tests\n`bundle exec spring rspec`\nSomehting like that should be displayed after running this command:\n\nFinished in 2.28 seconds (files took 0.26843 seconds to load)\n129 examples, 0 failures\n\nRandomized with seed 49082\n\n## How to run locally:\n- Clone this repository\n- `bundle install`\n- `bundle exec rake db:create`\n- `bundle exec rake db:migrate`\n- Setup vars at .env file\n- I recommend adding the following configuration to your hosts file (/etc/hosts in Linux) `0.0.0.0 punkapi.com`\n- `rails s`\n- `redis-server`\n\n## Database\n- I used PostgreSQL. Remember to edit the database params at .env file.\n- You can execute the seeds if you want (seeds.rb)\n\n## How to send requests to the API\n- Base URL: http://punkapi.com:3000/v2\n- For security reasons, you must send the Accept header with the following value: application/fractal.punk.v2\n\n## Redis\n- Don't forget to start the Redis server: opena another terminal window and run `redis-server`\n\n## Etc\n- API is versioned\n- CORS is enabled\n- Rate Limiting and Throttling configured","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromerobrjp%2Fpunkapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromerobrjp%2Fpunkapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromerobrjp%2Fpunkapi/lists"}